hadoop集群datanode启动显示init failed,不能解析hostname
三个datanode集群,有一个总是起不起来。去查看log显示
Initialization failed for Block pool BP-1920852191-192.168.115.154-1749093939738 (Datanode Uuid 89d9df36-1c01-4f22-9905-517fee205a8e) service to node154/192.168.115.154:8020 Datanode denied communication with namenode because hostname cannot be resolved (ip=192.168.115.132, hostname=192.168.115.132): DatanodeRegistration(0:0:0:0:0:0:0:0:9866, datanodeUuid=89d9df36-1c01-4f22-9905-517fee205a8e, infoPort=9864, infoSecurePort=0, ipcPort=9867, storageInfo=lv=-57;cid=CID-f9c6d50f-9a5a-42e9-b98a-916aedf66a67;nsid=1905434816;c=1749093939738)
hostname cannot be resolved (ip=192.168.115.132, hostname=192.168.115.132)
192.168.115.132这个IP是哪来的,通过ipaddr命令查看一下网卡,怎么走的动态ip
BOOTPROTO=dhcp:通过 DHCP 自动获取 IP。来控制获取了动态ip。。。
centos8修改IP地址和Hostname-CSDN博客文章浏览阅读255次。centos8修改IP地址和Hostnamehttps://blog.csdn.net/yyf960126/article/details/148383088?spm=1001.2014.3001.5502把这个值修改成none或者是static都可以,查看网卡信息只显示一条了,之后再把data和logs删掉,重启一下集群就可以了。
ps:在没修改网卡信息之前网上搜到还有一种方法,修改hdfs-site.xml,新增一条配置dfs.namenode.datanode.registration.ip-hostname-check,不进行地址检查
<property><name>dfs.namenode.datanode.registration.ip-hostname-check</name><value>false</value>
</property>
之后倒是能启动集群,只不过webUi上datanode等的地址变成了动态分布的ip地址,如图