hadoop错误汇总

该文件记录学习hadoop过程中碰到的一系列问题

(1)、hadoop测试中碰到的log4j:NULLAppender问题

前面安装hadoop单机版,碰到一个问题,一直没解决,就是在用hadoop versione命令查询hadoop版本的时候,出现

log4j:ERROR Could not find value for key log4j.appender.NullAppender
log4j:ERROR Could not instantiate appender named "NullAppender".


这个问题可能出现在hadoop应用中任何一个需要用到系统日志的应用当中(log4j是apache的一个开源日志项目,而且冒失是顶级项目,被hadoop项目所应用,google之)。


想了好久,考虑了hadoop本身问题,考虑了JDK问题,考虑了配置问题,总是没解决,今天和组员讨论了,也从网上重新找了资料,终于解决了

解决办法:在你的hadoop文件夹中找到etc/hadoop/log4j.properties文件,在文件中添加

    log4j.appender.NullAppender=org.apache.log4j.varia.NullAppender

解决。。。。。好容易。。。怨念。。。

 

 

(二)、配置基于Eclipse的Hadoop应用开发环境不能连接DFS的问题

建立Map/Reduce Location时,创建了一个HDFS Master:My_Master 的NameNode节点,报错:


Error :incomplete HDFS URI,no host : hdfs://...什么的


原本以为是自己后面修改的hdfs的NameNode和DataNode配置与系统默认的配置冲突,后来找了好久,原来问题是在Hadoop中,主机名不要包含下划线“_”,但可以有横线“-”。


修改Master名字为 My-Master ,该问题解决。。。

 


( 三).   重启系统后,HDFS连接不上

节点之间的通信有时候会用到IP地址,有时候会用到计算机名,所以需要给出节点IP地址跟计算机名的对应,linux系统中这种对应关系体现在/etc/hosts文件中,编辑hosts文件,按“IP   计算机名”的形式把各个节点写进hosts文件。

 

其中::1这一行是跟IPv6相关的,不需要去理会。其中127.0.0.1这一行是要注释掉的,不然之后运行hadoop的时候会出现“Bad connection to DFS”的错误,DFS是hadoop的文件系统。每次重启系统,hosts文件中都会自动自动加上一行127.0.0.1(原因不解),运行 hadoop之前都要把这一行kill掉才行。

 

对于机器datanode1,hosts文件也要做类似处理。

你可能感兴趣的:(hadoop)