问题描述:
在集群模式下更改节点后,启动集群发现 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
注:这是我碰到的情况,不见得是你遇到的问题,基本上从以下几个方面解决问题:
1. 检查各个xml文件是否配置正确
2. java环境变量配置是否正确
3. ssh是否无密码互通
4, Hadoop离开安全模式,hadoop dfsadmin -safemode leave。