Hadoop2.4.0启动之后,DataNode没有启动
这几天在学习Hadoop,在64位的ubuntu上装好Hadoop之后。启动服务,发现datanode没有启动,在网上找到了方法,然后成功启动。
- 发现datanode没有启动之后,查看logs发现,在datanode启动之后,发生如下错误:2015-01-07 20:16:42,549 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: Removed Block pool <registering> (Datanode Uuid unassigned)
2015-01-07 20:16:42,549 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Block pool ID needed, but service not yet registered with NN- 然后查询网上的解决方法:错误原因是在执行“hdfs namenode -format”之前,没有清空DataNode节点的data目录。
网上一些文章和帖子说是tmp目录,它本身也是没问题的,但Hadoop 2.4.0是data目录,实际上这个信息已经由日志的“/data/hadoop/hadoop-2.4.0/data”指出,所以不能死死的参照网上的解决办法,遇到问题时多仔细观察。从上述描述不难看出,解决办法就是清空所有DataNode的data目录,但注意不要将data目录本身给删除了。data目录由core-site.xml文件中的属性“dfs.datanode.data.dir”指定。链接为: www.iyunv.com/thread-18610-1-1.html- 其中有一点就是我的Hadoop2.4.0的datanode的目录是在hdfs-site.xml文件中指定。
- 根据上述方法清空data目录之后,再启动服务,jps一下,发现datanode服务已经启动。