赞
踩
目录
有Hadoop1、Hadoop2、Hadoop3三个节点
启动HDFS,Hadoop2中namenode备用节点没有,web无法访问,Hadoop1、Hadoop3正常。
推荐博客:关闭hadoop时报no namenode to stop,namenode无法启动,50070页面无法访问问题,InconsistentFSStateException-CSDN博客
查看hdfs的日志,然后根据自己的问题寻找解决办法,直接使用网上的会导致根本改不回来。像我一样,就要删掉数据重新格式化namenode(步骤在下面)
进入hadoop目录
cd logs
cat hadoop-hadoop-namenode-hadoop1.log
提示:请谨慎操作
1.停止所有进程重启
解决Hadoop时no namenode to stop异常或则 是 jps中没有namenode-CSDN博客
我的操作:
每个节点都执行以下命令
关闭hdfs
sbin/stop-dfs.sh
关闭journalnode
sbin/hadoop-daemon.sh stopjournalnode
bin/zkServer.sh stop
使用jps
检查三个节点中的其它进程都已经关闭。
(剩下一个jps进程是正常的)
再按次序重新zookeeper、hdfs开启。
结果:问题没有解决。
2.删除相关临时目录
【精选】Hadoop启动后jps查询后没有namedata,datanode进程_jps没有namenode进程-CSDN博客
解决关闭Hadoop时no namenode to stop异常-CSDN博客
我的操作:
删除位于临时目录dfs中的name、data、nu-local-dir目录
结果:
问题没解决,
hadoop1的namenode因为没有了。
删除三个节点上的相关临时目录,重新namenode格式化
在集群所有节点分别启动 Zookeeper 服务,具体操作如下所示。
[hadoop@hadoop1 zookeeper]$ bin/zkServer.sh start
[hadoop@hadoop2 zookeeper]$ bin/zkServer.sh start
[hadoop@hadoop3 zookeeper]$ bin/zkServer.sh start
在集群所有节点分别启动 Journalnode 服务,具体操作如下所示。
[hadoop@hadoop1 hadoop]$sbin/hadoop-daemon.sh start journalnode
[hadoop@hadoop2 hadoop]$sbin/hadoop-daemon.sh start journalnode
[hadoop@hadoop3 hadoop]$sbin/hadoop-daemon.sh start journalnode
在 hadoop1 节点(NameNode 主节点)上,使用如下命令对 NameNode 进行格式化。
[hadoop@hadoop1 hadoop]$ bin/hdfs namenode -format / /n amenode 格式化
[hadoop@hadoop1 hadoop]$ bin/hdfs zkfc -formatZK //格式化高可用
[hadoop@hadoop1 hadoop]$bin/hdfs namenode //启动 namenode
在 hadoop1 节点启动 NameNode 服务的同时,需要在 hadoop2 节点(NameNode 备用节点)
上执行如下命令同步主节点的元数据。
[hadoop@hadoop2 hadoop]$ bin/hdfs namenode -bootstrapStandby
hadoop2 节点同步完主节点元数据之后,紧接着在 hadoop1 节点上,按下〈Ctrl+C〉组合键
来结束 NameNode 进程,然后关闭所有节点上面的 Journalnode 进程,具体操作如下所示。
[hadoop@hadoop1 hadoop]$sbin/hadoop-daemon.sh stop journalnode
[hadoop@hadoop2 hadoop]$ sbin/hadoop-daemon.sh stop journalnode
[hadoop@hadoop3 hadoop]$ sbin/hadoop-daemon.sh stop journalnode
如果上面操作没有问题,在 hadoop1 节点上,可以使用脚本一键启动 HDFS 集群所有相关进
程,具体操作如图 6-1 所示。
[hadoop@hadoop1 hadoop]$ sbin/start-dfs.sh
注意:第一次安装 HDFS 需要对 NameNode 进行格式化,HDFS 集群安装成功之后,以后使
用 start-dfs.sh 脚本一键启动 HDFS 集群的所有进程即可
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。