经常会有这样的事情发生:在主节点上start-all.sh后,子节点有TaskTracker进程,而没有DataNode进程。
环境:1NameNode 2DataNode三台机器,Hadoop为1.2.1
解决办法:
1.先停止Hadoop,bin/stop-all.sh
2.三台机器都把hadoop1.2.1/tmp下所有文件删除,rm -rf tmp/*
3.重新格式化DFS bin/hadoop namenode -format
4.再重启bin/start-all.sh
5.查看各节点jps,就有DataNode和TaskTracker了
对于这些网上的说法已经很多了,主要包括:
1 关闭safemode模式,输入如下命令:
bin/hadoop dfsadmin -safemode leave
2 检查存储空间是否足够,输入如下命令:
df -hl
3 重新格式化hdfs,按照如下步骤
a) 删除master和所有slave上的 hadoop目录下的logs文件,并重新建立
b) 删除master和所有slave上的hdfs存储目录,即conf/core-site.xml配置文件中hadoop.tmp.dir属性对应的value所指向的目录,并重新建立
4 检查防火墙是否关闭,输入下面命令查看状态:
ufw status
输入下面命令关闭防火墙
ufw disable
5 重新检查配置文件
不过上述方法都用过了,依然没有解决问题,下面一点是我如何解决了该问题的操作。
检查每台机器上的/etc/hosts文件,将没有用或不清楚作何用的ip:name对删除,最后只留下了
127.0.0.1 localhost
10.77.20.100 master
10.77.20.101 slave1
10.77.20.102 slave2
对于这些网上的说法已经很多了,主要包括:
1 关闭safemode模式,输入如下命令:
bin/hadoop dfsadmin -safemode leave
2 检查存储空间是否足够,输入如下命令:
df -hl
3 重新格式化hdfs,按照如下步骤
a) 删除master和所有slave上的 hadoop目录下的logs文件,并重新建立
b) 删除master和所有slave上的hdfs存储目录,即conf/core-site.xml配置文件中hadoop.tmp.dir属性对应的value所指向的目录,并重新建立
4 检查防火墙是否关闭,输入下面命令查看状态:
ufw status
输入下面命令关闭防火墙
ufw disable
5 重新检查配置文件
不过上述方法都用过了,依然没有解决问题,下面一点是我如何解决了该问题的操作。
检查每台机器上的/etc/hosts文件,将没有用或不清楚作何用的ip:name对删除,最后只留下了
127.0.0.1 localhost
10.77.20.100 master
10.77.20.101 slave1
10.77.20.102 slave2