Hadoop集群启动常见错误
注意:dfs是在NameNode的机器上起的服务,而yarn是在yarn-site配置时配置的那台机器上启动的服务。
常见错误一:重复格式化
对于新配置的集群,需要将集群格式化,这时会在hadoop的根目录下多了两个文件夹,一个是data另一个是logs。
name和data的clusterID应该是一样的
看logs下的该节点的namenode.log文件
常见错误二:配置文件修改错误
在配置文件的时候改错、多加都会导致集群启动异常,发生出错误后,可查看$HADOOP_HOME/logs/
解决方案:
- 将集群上所有服务停掉(最好重启linux)
- 将每个节点上的hadoop根目录(/opt/module/hadoop-3.1.3/)下的data和logs删 除
- 将/tmp下的内容清空 (sudo rm -rf /tmp/*)
- 重新格式化
其他常见错误
1)防火墙没关闭、或者没有启动YARN
INFO client.RMProxy: Connecting to ResourceManager at hadoop108/192.168.10.108:8032
2)主机名称配置错误
3)IP地址配置错误
4)ssh没有配置好
5)root用户和atguigu两个用户启动集群不统一
6)未编译源码
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
7)不识别主机名称
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等特殊名称
8)DataNode和NameNode进程同时只能工作一个。
9)执行命令不生效,粘贴word中命令时,遇到-和长–没区分开。导致命令失效
解决办法:尽量不要粘贴word中代码。
10)jps发现进程已经没有,但是重新启动集群,提示进程已经开启。
原因是在linux的根目录下/tmp目录中存在启动的进程临时文件,将集群相关进程删除掉,再重新启动集群。
11)jps不生效。
原因:全局变量hadoop java没有生效。解决办法:需要source /etc/profile文件。
12)8088端口连接不上
[atguigu@hadoop102 桌面]$ cat /etc/hosts
注释掉如下代码
#127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
#::1 hadoop102