/ 中存储网

Hadoop DataNode不能正常工作的原因

2013-07-31 00:00:00 来源:中存储

在把Hadoop环境搭建成功,并且也Hadoop的各个组件都正常工作。在重启过几次Hadoop后发现DataNode不能正常工作,打开Hadoop 的后台http://localhost:50030和http://localhost:50070发现Lives Nodes为0.

查看启动datanode的日志信息:

org.apache.hadoop.ipc.Client: Retryingconnect to server: uec-fe/16.157.63.10:9000. Already tried 0 time(s).

查看启动NameNode的日志信息:

java.io.IOException: File xxxxxxxxx/jobtracker.info could only be replicated to 0 nodes, instead of 1

经过查看在core-site.xml中也配置了hadoop.tmp.dir属性:

<property> 

    <name>hadoop.tmp.dir</name>  

    <value>/home/hadoop/tmp</value>  

    <description>A base for other temporary directories.</description>  

</property>  

经过网上搜索试过了很多方式都没有用,后来看了一篇文章原来是没有权限的问题

sudo chown -R hadoop /home/hadoop/tmp

然后停止hadoop服务,重新格式化(一般格式化会提醒是否重新格式化该目录,说明该目录存在了,把该删的目录删掉,然后再格式化),最后启动hadoop服务。

总结:

解决该类问题的思路:

1>配置hadoop.tmp.dir属性;

2>修改权限sudo chown -R hadoop /home/hadoop/tmp(hadoop.tmp.dir的值)

最后,可能还有其他原因会导致Hadoop DataNode不能工作,正在积累中。