用hadoop搭建的集群在启动时子节点一直无法连接到主节点,在使用hadoop集群时一直报错,也就是集群并没有搭建成功,导致了出现了上面的报错信息org.apache.hadoop.ipc.Client: Retrying connect to server: hadoop-master/192.168.1.130:9000. Already tried 0 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=100, sleepTime=10000 MILLISECONDS),这中间排查了很多问题,也查询了很多资料,最后发现是出在了自己的主从机的hosts配置问题上,也就是主机的hosts配置有问题,这里把这几天解决这个问题所踩的坑做一个总结,希望能帮助后来学习的朋友。
搭建的hadoop集群的具体环境如下:
主节点:
系统:CentOS Linux release 7.3.1611 (Core)
系统名称:hadoop-master
系统ip:192.168.1.130
hadoop:hadoop2.8.4
java:1.7.0
ssh2:OpenSSH_7.4p1, OpenSSL 1.0.2k-fips
子节点:
系统:Ubuntu 15.04
系统名称:hadoop-salve1
系统ip:192.168.1.128
hadoop:hadoop2.8.4
java:1.7.0
ssh2:OpenSSH_6.7p1 Ubuntu-5ubuntu1, OpenSSL 1.0.1f
一、主从机无法进行通信
主从机互相通信是hadoop集群搭建时必须要实现的,主要的问题是ssh的配置,主从机需要使用publickey,公钥进行验证,在互相通信时不需要输入私钥,如果主从机无法实现ssh互相通过公钥通信,每次启动hadoop集群的时候都会导致重新输入子节点的私钥,很麻烦,所以需要把主从节点使用公钥进行验证,这里给出一种互相进行公钥配置的方法。
1.1 主从机实现公钥互相登录
首先要生成ssh