hadoop 完全分布式 下 datanode无法启动解决方法

时间:2022-07-25 16:16:07

问题描述:

在集群模式下更改节点后,启动集群发现 datanode一直启动不起来。

我集群配置:有5个节点,分别为master slave1-5 。

在master以Hadoop用户执行:start-all.sh

jps查看master节点启动情况:

NameNode

JobTracker

SecondaryNameNode

均已经正常启动,利用 master:50070 , Live Nodes 为0, 随进入 slave1:

ssh slave1,  输入命令 jps ,发现只有 TaskTracker 而没有DataNode。随后看日志

上网查找解决方法,最后终于解决了,解决方法如下:

1. 先执行stop-all.sh暂停所有服务

2. 将所有Salve节点上的tmp(即 hdfs-site.xml 中指定的 dfs.data.dir 文件夹,DataNode存放数据块的位置)、 logs 文件夹删除 , 然后重新建立tmp , logs 文件夹

3. 将所有Salve节点上的/usr/hadoop/conf下的core-site.xml删除,将master节点的core-site.xml文件拷贝过来,到各个Salve节点

scp /usr/hadoop/conf/core-site.xml   hadoop@slave1:/usr/hadoop/conf/

4. 重新格式化: hadoop namenode -format

5. 启动:start-all.sh

此外也可能遇见slave的Datanode错误:

错误1,hadoop datanode 问题 INFO org.apache.hadoop.ipc.RPC: Server at /:9000 not available yet, Zzzzz..

解决方法见:http://blog.sina.com.cn/s/blog_893ee27f0100zoh7.html,

错误2,slave节点的DataNode不能连接master, 日志信息为为: INFO org.apache..ipc.Client: Retrying connect to server: master/172.16.0.100:9000. Already tried 0 time(s);

解决办法:

1、ping master能通,telnet master 9000不能通,说明开启了防火墙
        2、关闭master主机防火墙,可以通过/sbin/iptables -F清除所有规则来暂时停止防火墙
              如果想清空的话,先执行 /sbin/iptables -P INPUT ACCEPT,然后执行 /sbin/iptables -F

注:这是我碰到的情况,不见得是你遇到的问题,基本上从以下几个方面解决问题:
        1. 检查各个xml文件是否配置正确

2. Java环境变量配置是否正确

3. ssh是否无密码互通

4, Hadoop离开安全模式,hadoop dfsadmin -safemode leave。

也可以参考这个:http://blog.sina.com.cn/s/blog_76fbd24d01017qmc.html

本文转载自http://blog.csdn.net/daniel_ustc/article/details/10834413