分享

hadoop 常见错误列表

lzw 2013-12-8 14:44:51 发表于 总结型 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 0 11464
本帖最后由 nettman 于 2013-12-9 00:59 编辑

1:call to localhost/127.0.01:9000  failed on connection exception:java.net.exception:拒绝连接

解决方法:
使用jpshadoop进程查看工具发现NameNode进程没有正确运行。停止服务后,重新格式化namenode,
hadoop namenode -format
start-all.sh,NameNode进程已运行,问题解决。

补充知识:

jps位于jdk的bin目录下,其作用是显示当前系统的java进程情况,及其id号。
jps相当于Solaris进程工具ps。不象"pgrep java"或"ps -ef grep java",jps并不使用应用程序名来查找JVM实例。因此,它查找所有的Java应用程序,包括即使没有使用java执行体的那种(例如,定制的启动 器)。另外,jps仅查找当前用户的Java进程,而不是当前系统中的所有进程

2.datanode节点TaskTracker任务启动,但是DataNode任务未启动
这一般是由于对hadoop进行升级后导致的,需要删除hadoop.tmp.dir所对应的文件夹,然后再对namenode进行重新格式化,删除之前先将数据导出,要不然数据就没了

3./lib/ld-linux.so.2: bad ELF interpreter: 没有那个文件或目录
缺少 glibc.i686组件
命令:yum install glibc.i686

4. hadoop-site.xml:1:1: 文件提前结束
hadoop目录下面conf文件夹中多了一个hadoop-site配置文件,在0.20.2版本之前,conf里面有一个 hadoop-site.xml文件,在0.20.0之后的版本 conf下没有这个hadoop-site.xml文件,取而代之的是三个文件,core-site.xml,hdfs-site.xml,mapred.xml
解决方法:删除conf文件夹下面的hadoop-site.xml就行

5.用eclipse连接集群查看文件信息提示9001端口拒绝连接的错误
Cannot connect to the Map/Reduce location: hadoop1.0.3
Call to localhost/127.0.0.1:9001 failed on connection exception: java.net.ConnectException: 拒绝连接
解决办法:配置都很正常,就是连接不了。后来重新配置hadoop location,把Map/Reduce Master 和 DFS Master中的Host由localhost改成了ip地址(192.168.0.101),然后问题就解决了。奇怪,localhost不就是本机嘛,而namenode主机(192.168.33.164)也是本机

6:远程hadoop
本地开发的程序,操作远程hadoop hdfs 文件系统,报错链接不上。
  1. Retrying connect to server: /192.168.1.109:9000. Already tried 0 time(s)
复制代码
解决方法:是服务器上hadoop core-site.xml配置有问题,我的配置写的是localhost。应该改成服务器的IP地址。
用netstat 能看到127.0.0.1:9000的端口,但在我本地telnet 192.168.1.109 9000链接不上。改成服务器IP就正确了。
一般伪分布式不配hosts,很多人会配置成localhost,如果想外网访问的话,就改成本地IP就可以了。

7. NameNode不能启动:

Cannot lock storage ……tmp/dfs/name. The directory is already locked.

也许是因为执行hadoop的账号对这个文件夹/home/hadoop/tmp/dfs没有权限。可以使用如下命令解决

  1. chown -R hadoop:hadoop /home/hadoop/tmp
复制代码

上面的文件夹目录与hadoop.tmp.dir参数配置对应



8. DataNode不能启动

在客户端日志显示 namenode namespaceID = 1713611278; datanode namespaceID = 596511341

这个问题基本上是因为在namenode端多次运行hadoop namenode –format 导致的。在hadoop的core-site.xml文件中(不同的hadoop版本名字会有不同)找到<name>hadoop.tmp.dir</name>,清空对应的文件夹。举例:

  1. <font face="Verdana"><font size="2"><font color="#000000"><?xml version="1.0"?>
  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
  3. <!-- Put site-specific property overrides in this file. -->
  4. <configuration>
  5. <property>
  6.   <name>fs.default.name</name>
  7.   <value>hdfs://hadoop.master:9000</value>
  8. </property>
  9. <property>
  10.   <name>hadoop.tmp.dir</name>
  11.   <value>/home/hadoop/tmp</value>
  12. </property>
  13. </configuration></font></font></font>
复制代码
清空:
  1. [hadoop@localhost tmp]$ rm -rf /home/hadoop/tmp/*
复制代码



9./home/hadoop/tmp/mapred/system/jobtracker.info could only be replicated to 0 nodes, instead of 1
  出现此错误,一般发生在datanode与namenode还没有进行连接,就开始往hdfs系统上put数据了。稍等待一会,就可以了。
  也可以使用:
  1. <font color="#000000">hadoop dfsadmin –report命令查看集群的状态。</font>
复制代码
10.运行bin/start-all.sh正常,输入bin/start-fds.sh出错,显示以下提示:Hadoop common not found。
     问题分析:出现该问题的原因是没有定义HADOOP_NAME, 处理方法:Linux中为在.bashrc文件中加入 export HADOOP_HOME=$HOME/hadoop-0.21.0






本帖被以下淘专辑推荐:

欢迎加入about云群9037177932227315139327136 ,云计算爱好者群,亦可关注about云腾讯认证空间||关注本站微信

没找到任何评论,期待你打破沉寂

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条