安装hadoop常见错误整理:
1.Hadoop初始化错误INFO org.apache.hadoop.ipc.Client: Retryingconnect to server: uec-fe/16.157.63.10:9000. Already tried 0 time(s).
这种情况对数出现在启动namenode时成功,但是运行job时就会一直连接。
通过查看TaskTracker日志可以看到不停地Retryingconnect,但是一直连不上,有如下解决办法:
A:在启动hadoop前没有格式化namenode,需要再每次启动前格式化namenode
bin/hadoop namenode –format
B:如果格式化后还存在相同的问题:需要先停掉hadoop,hadoop默认配置把一些文件放到/tmp 下,我们需要删除所有机器上的/tmp/hadoop-roor/(你的用户名)的文件,然后重新格式化后,启动服务。
C:也可以自定义tmp文件的位置,编辑conf/core-site.xml文件
<property> <name>hadoop.tmp.dir</name> <value>/var/log/hadoop/tmp</value> <description>Abase for other temporary directories</description> </property>关闭hadoop,格式化namenode之后启动hadoop
D:还有种可能是由于/etc/hosts没有编辑造成的,更改后重启
2. Your DataNodes won't start, and you seesomething like this in logs/*datanode*:
解决办法:
bin/stop-all.sh rm–fr /tmp/hadoop-用户名 bin/hadoopnamenode -format bin/start-all.sh3. You can run Hadoop jobs written in Java(like the grep example), but your HadoopStreaming jobs (such as the Pythonexample that fetches web page titles) won't work.
原因:再用streaming工具是可能给定的mapper文件或reducer文件的相对路径,可以尝试一下方法
bin/hadoop jarcontrib/hadoop-0.15.2-streaming.jar \ -mapper /root/hadoop-0.20.2/mapper.py \ -reducer /root/hadoop-0.20.2/reducer.py \ -input intput/1.txt \ -output output4.INFO hdfs.DFSClient: Exception increateBlockOutputStream java.io.IOException:Bad connect ack with firstBadLink192.168.30.149:50010
原因:可能有节点的防火墙开着,尝试关闭防火墙
/etc/init.d/iptables stop ###关闭防火墙重启hadoop
5. org.apache.hadoop.dfs.SafeModeException:Cannot delete ..., Name node is in safe mode
原因:hadoop的安全模式开启了,在分布式文件系统启动的时候,开始的时候会有安全模式,当分布式文件系统处于安全模式的情况下,文件系统中的内容不允许修改也不允许删除,直到安全模式结束。安全模式主要是为了系统启动的时候检查各个DataNode上数据块的有效性,同时根据策略必要的复制或者删除部分数据块。运行期通过命令也可以进入安全模式。在实践过程中,系统启动的时候去修改和删除文件也会有安全模式不允许修改的出错提示,只需要等待一会儿即可
bin/hadoopdfsadmin-safemodeleave
6. File/home/hadoop/tmp/mapred/system/jobtracker.info could only be replicated to 0nodes, instead of 1最常见的错误!!我是这样,
原因:当hadoop刚刚start-all时,datanode和namenode还没有进行连接,这个时候如果执行上传文件命令,会导致此命令,稍等一会问题就会解决,如果问题得不到解决,删除tmp/hadoop-你的用户名 文件重新格式化后启动。
7. ERRORorg.apache.hadoop.hdfs.server.datanode.DataNode: java.net.UnknownHostException:hadoop149: hadoop149 atjava.net.InetAddress.getLocalHost(InetAddress.java:1426)。
原因:可能防火墙原因(关闭防火墙:/etc/init.d/iptables stop),也有可能是/etc/hosts文件没有添加相关信息 例如添加:192.168.30.149 hadoop149