热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Hadoop+Spark安装(三)——调hadoop

***************************测试hadoop及问题跟进***************************执行以下语句报错datahadoop-2.9.

***************************测试hadoop及问题跟进***************************

执行以下语句报错

/data/hadoop-2.9.1/bin/hdfs dfsadmin -report

《Hadoop + Spark安装(三) —— 调hadoop》
《Hadoop + Spark安装(三) —— 调hadoop》

按照帖子支招,打开etc/hosts

这两句加#注释掉

#127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

再执行以下语句,还是报错

/data/hadoop-2.9.1/bin/hdfs dfsadmin -report

***************************查看端口通信是否正常***************************

尝试telnet master 9000发现通信是拒绝的,所以问题从先解决通信问题开始

《Hadoop + Spark安装(三) —— 调hadoop》
《Hadoop + Spark安装(三) —— 调hadoop》

再执行ping master发现是通的,telnet master 9000发现通信是拒绝的,网上说开了防火墙,可是我查看了防火墙的状态执行/etc/init.d/iptables status,并没有开启

在同事的指导下,我执行了telnet master 22,或者telnet ip地址 22,都是通的

监听端口lsof -i:9000没有任何响应

lsof -i:22有返回,所以是占用9000端口的进程也就是在配置core-site.xml时,hdfs://master:9000这个服务有问题,应该查看hadoop的日志看看报错的原因

《Hadoop + Spark安装(三) —— 调hadoop》
《Hadoop + Spark安装(三) —— 调hadoop》

***************************端口通信正常***************************

***************************hadoop查看运行进程***************************

master节点先把所有服务停掉,一个个测试:

/data/hadoop-2.9.1/sbin/stop-all.sh

然后执行

/data/hadoop-2.9.1/sbin/start-all.sh

jps

看看正常运行的进程

《Hadoop + Spark安装(三) —— 调hadoop》
《Hadoop + Spark安装(三) —— 调hadoop》

主要有DataNode NameNode SecondaryNameNode TaskTracker JobTracker这几个进程,就表示正常了,但是我有几个没有NameNode、TaskTracker、JobTracker

然后我再执行了一遍启动namenode的指令,发现还是没起起来,没有报错,但是没有起来

/data/hadoop-2.9.1/sbin/hadoop-daemon.sh start namenode

《Hadoop + Spark安装(三) —— 调hadoop》
《Hadoop + Spark安装(三) —— 调hadoop》

看了一下slave-1节点,正常

《Hadoop + Spark安装(三) —— 调hadoop》

所以问题集中解决在为什么在master节点上,NameNode没有启动!!!

***************************hadoop进程NameNode没有启动***************************

***************************hadoop查看日志***************************

查看日志,在master节点的文件夹中,查看/data/hadoop-2.9.1/logs,找到namenode的日志,按时间排序,取对应命令行执行完的时间对应的日志,并且拉到日志最下端。

《Hadoop + Spark安装(三) —— 调hadoop》
《Hadoop + Spark安装(三) —— 调hadoop》

发现出现了出错的根本原因是:java.io.IOException: NameNode is not formatted

***************************通过hadoop日志提示解决问题***************************

  1. 方法1 —— 一种解决方案是格式化,可以参考这篇帖子:

遇到问题—Hadoop—java.io.IOException: NameNode is not formattedblog.csdn.net《Hadoop + Spark安装(三) —— 调hadoop》

2. 方法2 —— 另一种解决方案是配置文件稍微改动,不知道是否能生效:

hadoop启动dfs报错NameNode is not formattedblog.csdn.net

3. 方法3 —— 如果出错日志显示是权限问题导致NameNode没有启动,可以参考这篇帖子

Hadoop namenode无法启动问题解决www.cnblogs.com

我试图重启hadoop看看namenode有没有启动:

/data/hadoop-2.9.1/sbin/stop-all.sh

/data/hadoop-2.9.1/sbin/start-all.sh

jps

发现没起来,马上照着更新时间去看最新的日志。

看了日志:/data/hadoop-2.9.1/logs下面hadoop-root-secondarynamenode-master.log,发现SecondaryNameNode也有报错,这就是帖子最开始发现的问题端口为9000的服务没启动也就是命令行telnet master 9000报错的原因

master:9000 failed on connection exception: java.net.ConnectException: Connection refused

《Hadoop + Spark安装(三) —— 调hadoop》
《Hadoop + Spark安装(三) —— 调hadoop》

查看了/data/hadoop-2.9.1/logs下面的日志hadoop-root-namenode-master.log,发现NameNode没有被格式化还是在报错

《Hadoop + Spark安装(三) —— 调hadoop》
《Hadoop + Spark安装(三) —— 调hadoop》

综述,需要重新进行一次格式化。

***************************通过hadoop日志找到方案***************************

***************************重新修改hadoop配置文件***************************

切换到master节点,修改配置项

/data/hadoop-2.9.1/etc/hadoop/slaves

《Hadoop + Spark安装(三) —— 调hadoop》
《Hadoop + Spark安装(三) —— 调hadoop》

/data/hadoop-2.9.1/etc/hadoop/masters

《Hadoop + Spark安装(三) —— 调hadoop》
《Hadoop + Spark安装(三) —— 调hadoop》

core-site.xml

《Hadoop + Spark安装(三) —— 调hadoop》
《Hadoop + Spark安装(三) —— 调hadoop》

hdfs-site.xml

《Hadoop + Spark安装(三) —— 调hadoop》
《Hadoop + Spark安装(三) —— 调hadoop》

mapred-site.xml

《Hadoop + Spark安装(三) —— 调hadoop》
《Hadoop + Spark安装(三) —— 调hadoop》

yarn-site.xml

《Hadoop + Spark安装(三) —— 调hadoop》
《Hadoop + Spark安装(三) —— 调hadoop》
《Hadoop + Spark安装(三) —— 调hadoop》
《Hadoop + Spark安装(三) —— 调hadoop》

hadoop-env.sh、mapred-env.sh、yarn-env.sh 把JAVA_HOME修改为环境中的绝对路径

《Hadoop + Spark安装(三) —— 调hadoop》
《Hadoop + Spark安装(三) —— 调hadoop》

然后把master节点的日志删除,一路选择y

rm -r /data/hadoop-2.9.1/logs/*

《Hadoop + Spark安装(三) —— 调hadoop》
《Hadoop + Spark安装(三) —— 调hadoop》

最后把master节点的临时文件删除,一路选择y

rm -r /data/hdfs/tmp/*

《Hadoop + Spark安装(三) —— 调hadoop》
《Hadoop + Spark安装(三) —— 调hadoop》

有很多隐藏文件,所以用命令行删除比较推荐!!!

slave-1节点的hadoop整个删掉,重新拷贝一份,具体改动如下:

rm -rf /data/hadoop-2.9.1

下面把master的整个hadoop文件夹拷贝纸slave-1

scp -r /data/hadoop-2.9.1 root@slave-1:/data

***************************完成修改hadoop配置文件***************************

***************************hadoop重新格式化***************************

master节点停掉hadoop和日志
/data/hadoop-2.9.1/sbin/stop-all.sh

关闭日志

/data/hadoop-2.9.1/sbin/mr-jobhistory-daemon.sh stop historyserver

(如果没有在调试过程中产生新日志或者临时文件可以跳过这步!)

通过命令行,把master节点、slave-1节点的日志和临时文件夹删除,一路选择y

rm -r /data/hadoop-2.9.1/logs/*

rm -r /data/hdfs/tmp/*

开始再执行一次格式化hadoop,执行以下语句做格式化:

$HADOOP_HOME/bin/hdfs namenode -format

特别要强调必须要$HADOOP_HOME方式去做格式化,之前我用cd命令行然后直接运行hdfs是失败的

发现NameNode格式化成功

《Hadoop + Spark安装(三) —— 调hadoop》
《Hadoop + Spark安装(三) —— 调hadoop》

启动hadoop
/data/hadoop-2.9.1/sbin/start-all.sh

jps

确认namenode节点启动!

《Hadoop + Spark安装(三) —— 调hadoop》
《Hadoop + Spark安装(三) —— 调hadoop》

查看所有的日志namenode和datanode有没有报错

《Hadoop + Spark安装(三) —— 调hadoop》
《Hadoop + Spark安装(三) —— 调hadoop》

改了一通,检查所有的日志邮件,已经没有ERROR了,就表示所有配置正常,WARN的话,有空可以优化,百度都有解决方案的!

***************************完成修改hadoop重新格式化***************************

***************************测试hadoop管理界面***************************

http://localhost:50070(HDFS管理界面)

《Hadoop + Spark安装(三) —— 调hadoop》
《Hadoop + Spark安装(三) —— 调hadoop》

master的IP地址同你在hosts中设置的内网或者外网IP,我这里配置的是内网IP

http://IP地址:8088/cluster

YARN监控界面

《Hadoop + Spark安装(三) —— 调hadoop》
《Hadoop + Spark安装(三) —— 调hadoop》


推荐阅读
  • 工作原理_一文理解 Spark 基础概念及工作原理
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了一文理解Spark基础概念及工作原理相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Hudi是一种数据湖的存储格式,在Hadoop文件系统之上提供了更新数据和删除数据的能力以及流式消费变化数据的能力。应用场景近实时数据摄取Hudi支持插入、更新和删除数据的能力。您 ... [详细]
  • 本文目录一览:1、如何查看mysql数据库的日志文件 ... [详细]
  • 使用Tomcat部署Java Web应用
    项目组成TomcatWeb应用服务器:Tomcat.Jboos,Weblogic,JettyTomcat作用:将写好的程序放到Tomcat里ÿ ... [详细]
  • 1、概述hdfs文件系统主要设计为了存储大文件的文件系统;如果有个TB级别的文件,我们该怎么存储呢?分布式文件系统未出现的时候࿰ ... [详细]
  • Spark常用端口号和Hadoop中常用端口号区分
    Spark中常用端口号区分:-Master进程的通信端口号-7077-Master进程webui查看端口号-8080-Worker进程的通信端口号-7078-Worker进程web ... [详细]
  • hadoop完全分布式搭建
    原文链接:hadoop完全分布式搭建主机分配以及地址要求:角色主机名IP地址Namenodemaster192.168.222.201Datanodeslave ... [详细]
  •     这里使用自己编译的hadoop-2.7.0版本部署在windows上,记得几年前,部署hadoop需要借助于cygwin,还需要开启ssh服务,最近发现,原来不需要借助cy ... [详细]
  • 自建Gitlab(邮箱配置、拆分PostgreSQL、Redis)+随想
    前言最近折腾了一番自建gitlab,在此做个记录,供君参考。整个构建过程基于DockerSwarm(近期有计划将微服务移植到Kubernetes,但还没倒腾顺手,暂时先沿用旧的方案 ... [详细]
  • Linux DNS
    libnss_files.solibnss_dnslibnss_ldap展现的就是一个配置文件etcnsswitch.conf?查看这个文件这个files就是通过libnss_fi ... [详细]
  • php调试环境之Windows
    Windows下php调试环境环境:Windows7+phpstudy(Apache+php7.1)1、xdebug的安装配置phpinfo看一下php版本,架构(32还是64位) ... [详细]
  • JavaScript使ifram跨域相互访问及与PHP通信的实例_javascript技巧
    iframe与主框架相互访问方法1.同域相互访问假设A.html ... [详细]
  • ORA-21561不一致导致安装报错怎么办
    小编给大家分享一下ORA-21561不一致导致安装报错怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章 ... [详细]
  • 环境:centos6.5,hadoop2.6.4集群1.解压安装sqoop从官网下载好安装包,发送到集群中任意一台主机即可。相信大家已经看到,1.99.7跟1.4.6是不兼容的,而 ... [详细]
  • HDFS2.x新特性
    一、集群间数据拷贝scp实现两个远程主机之间的文件复制scp-rhello.txtroothadoop103:useratguiguhello.txt推pushscp-rr ... [详细]
author-avatar
钞绚舞亨利
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有