配置Hadoop集群常见问题

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

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

解决办法:

chkconfig iptables off #关闭防火墙
sbin/start-yarn.sh #hadoop目录下

2)主机名称配置错误

解决办法:

vi /etc/sysconfig/network

3)ip地址配置错误

解决办法:

vim /etc/udev/rules.d/70-persistent-net.rules #克隆虚拟机时,删除eth0,将eth1修改为eth0,复制此ip地址
vim /etc/sysconfig/network-scripts/ifcfg-eth0 # 复制的ip地址修改在HWADDR上,IPADDR修改为自己想要的ip
service network restart

4)ssh没有配置好

解决方法:

cd  ~/.ssh #进入home目录
ssh-keygen -t rsa #生成公钥和私钥,然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
ssh-copy-id 192.168.44.131  #将公钥拷贝到要免密登录的目标机器上

6)配置文件修改检查一下

注意core-site.xml hadoop-env.sh hdfs-site.xml yarn-env.sh yarn-site.xml mapred-env.sh mapred-site.xml

7)未编译源码

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: pdc102:  pdc102
        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)注:datanode和namenode进程同时只能工作一个。

11)执行命令 不生效,-和长–没区分开。导致命令失效

12)jps发现进程已经没有,但是重新启动集群,提示进程已经开启。

原因是在linux的根目录下/tmp目录中存在启动的进程临时文件,将集群相关进程删除掉,再重新启动集群。

猜你喜欢

转载自blog.csdn.net/qq_41594698/article/details/89630785