Hadoop完全分布式集群搭建遇到的一些问题

Spring Wu 346 2021-02-03

使用了3台在不同地区的服务器搭建集群,导致master机器的namenode无法启动的问题

最开始遇到这个问题的时候,在master主机上使用jps命令发现master的namenode没有启动抵赖。于是我去看日志,发现报了一个BindException的错误。然后通过google先把/etc/hosts文件里面的ip映射改了一下,最开始是

外网ip master

这种方式配置的hosts。

我改为了127.0.0.1 master,然后启动,发现namenode能正常启动了,但是去slave机器看的时候,发现slave机器的DateNode无法与master的NameNode通信。最后又去找了下资料,然后把hosts配置中的127.0.0.1 master改为了master主机的内网IP master, 最后再启动发现slave的datanode能正常连接master的NameNode了。

启动yarn报错Unresolved address

在使用start-all.sh启动完毕集群后,去访问8088yarn管理页面的时候,无法访问,然后查看yarn resourcemanager的日志时发现这个报错:

这个错显然是resourcemanager的主机名配置错了,查看hosts文件:

然后把yarn-site.xml的配置改过来,改成chinamaster:

然后集群中的所有yarn-site.xml配置文件都要改过来。

slave机器无法启动resourcemanager问题,报错All specified directories have failed to load.


原因是slave节点的current/VERSION文件中的clusterID与master节点的clusterID不一致导致的,只需要删除每个节点中的current文件夹重新启动hadoop即可。