Hadoop集群常见报错原因

1)防火墙没关闭、或者没有启动yarn

INFO client.RMProxy: Connecting to ResourceManager at hadoop108/192.168.10.108:8032

2)主机名称配置错误

3)ip地址配置错误

4)ssh没有配置好,主机之间无法无密登录,无法进行RPC通信

5)root用户和robot(个人用户)两个用户启动集群不统一,比如有时候在root用户下配置,用robot用户启动

6)配置文件修改不细心,配置文件出错。配置文件建议直接官网复制

7)未编译源码,默认hadoop官方只提供了32位的hadoop。有时候当做64位使用时,要编译使用。

Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

17/05/22 15:38:58 INFO client.RMProxy: Connecting to ResourceManager at hadoop108/192.168.10.108:8032

8)datanode不被namenode识别问题

Namenode在format初始化的时候会形成两个标识,blockPoolId和clusterId。新的datanode加入时,会获取这两个标识作为自己工作目录中的标识。

一旦namenode重新format后,namenode的身份标识已变,而datanode如果依然持有原来的id,就不会被namenode识别。

解决办法,删除datanode节点中的数据后,再次重新格式化namenode。

9)不识别主机名称

java.net.UnknownHostException: hadoop102: hadoop102

 at java.net.InetAddress.getLocalHost(InetAddress.java:1475)

 at org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:146)

 at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1290)

 at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1287)

 at java.security.AccessController.doPrivileged(Native Method)

 at javax.security.auth.Subject.doAs(Subject.java:415)


解决办法:

(1)在/etc/hosts文件中添加192.168.1.102 hadoop102

 (2)主机名称不要起hadoop hadoop000等特殊名称


10)执行命令 不生效,粘贴word中命令时,遇到-和长–没区分开。导致命令失效

解决办法:尽量不要粘贴word中代码。或者有时候window系统复制的文件,在unix系统使用时,以为编码不一样,也会报错。

11)jps发现进程已经没有,但是重新启动集群,提示进程已经开启。原因是在linux的根目录下/tmp目录中存在启动的进程临时文件,将集群相关进程删除掉,再重新启动集群。


12.格式化namenode问题

datanode不被namenode识别的问题

namenode在format初始化的时候会形成两个标识:

blockPoolId:

clusterId:


新的datanode加入时,会获取这两个标识作为自己工作目录中的标识

一旦namenode重新format后,namenode的身份标识已变,而datanode如果依然

持有原来的id,就不会被namenode识别