现在的位置: 首页 > 综合 > 正文

Hadoop 集群常见错误

2017年11月18日 ⁄ 综合 ⁄ 共 1935字 ⁄ 字号 评论关闭

(一)启动hadoop集群时易出现的错误:

1.   错误现象:java.net.NoRouteToHostException:
No route to host.

  
原因:
master服务器上的防火墙没有关闭。

  
解决方法
: master上关闭防火墙:
chkconfig iptables off.

2.    错误现象org.apache.hadoop.ipc.RPC:
Server at JMN/10.22.1.203:9000 not available yet.    /* JMN/10.22.1.203
 
hadoop
集群当中master的主机名/ip
*/

 
 原因
/etc/hosts中的文件被自动篡改。

  
解决方法
/etc/hosts 文件按配置文件要求改回来。

3.    错误现象Too
many fetch-failures.

  
原因:
结点间的连通不够全面

 
 解决方法:

        1) 检查 /etc/hosts要求本机ip对应服务器名,并且包含所有的服务器ip和服务器名。

        2) 检查 .ssh/authorized_keys要求包含所有服务器(包括其自身)的public
key

(二)  hadoop集群的master中用命令运行例子易出现的故障:

1. 错误现象:java.lang.OutOfMemoryError:
Java heap space.

   原因:JVM内存不够。

   解决方法:修改mapred-site.xmlmapred.child.java.opts属性的值,其默认值是-Xmx200m 可根据需要适当增大
该值。

2. 错误现象:could
only be replicated to 0 nodes, instead of 1

   解决方法:NameNode上执行命令:hadoop
namenode –format
重新格式化HDFS,在格式化之前,需要将你 
NameNode
上所配置dfs.name.dir这一namenode用来存放NameNode 持久存储名字空间及事务日志的本地文件系统路径删除,同时将各DataNode上的dfs.data.dir的路径DataNode存放块数据的本地文件系统路径的目录也删除。

 

3.  错误现象namenode
in safe mode.

    原因:hadoop进入安全模式

    解决方法:shell中执行命令hadoop
dfsadmin -safemode leave 
使hadoop离开安全模式。

(三)在windowsEclipse中运行例子易出现的错误:

1. 错误现象org.apache.hadoop.security.AccessControlException:
Permission denied: user=administrator, access=EXECUTE, inode="job_201111031322_0003":heipark:supergroup:rwx-.

 原因:本地用户administrator(本机windows用户)想要远程操作hadoop系统,没有权限引起的。

 解决办法:

i如果是测试环境,可以取消hadoop
hdfs
的用户权限检查。打开conf/hdfs-site.xml,找到dfs.permissions属性修改为false(默认为trueOK了。

ii、修改hadoop location参数,在advanced
parameter
选项卡中,找到hadoop.job.ugi项,将此项改为启动hadoop的用户名即可。

2.错误现象IOException:
Cannot run program "chmod": CreateProcess error=2.

  原因: 没有安装cygwin 没有配置环境变量。

    
解决办法:安装并配置环境变量 bin path 重启 eclipse 问题即可。

3.  错误现象: WARN mapred.LocalJobRunner: job_local_0001

java.lang.OutOfMemoryError: Java heap space

at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.<init>(MapTask.java:781)

at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:350)

………..

  原因:客户端程序运行时java虚拟机内存分配不够

  解决办法:修改run
configuration
,选择Arguments选项卡,在VM
arguments
栏中加入-Xmx1024m,保存即可解决问题。

抱歉!评论已关闭.