鸣谢——核心参考:

1.【Hadoop故障处理】全分布下,DataNode进程正常启动,但是网页上不显示,并且DataNode节点为空

问题描述:

【说明】分布式hadoop环境下,DataNode进程正常启动,但是但是hadoop的UI网页上显示DataNode节点为空

【说明】/etc/hosts 的ip和hostname配置正常,因为各服务器端ssh能互相ping通。

2021-04-07 21:26:35,038 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for Block pool BP-1099985047-172.16.1.8-1617801344748 (Datanode Uuid 1d8cb265-ad8b-4f87-a684-04b42da47e06) service to /172.16.1.8:9000 Datanode denied communication with namenode because hostname cannot be resolved (ip=172.16.1.9, hostname=172.16.1.9): DatanodeRegistration(0.0.0.0, datanodeUuid=1d8cb265-ad8b-4f87-a684-04b42da47e06, infoPort=50075, infoSecurePort=0, ipcPort=50020, storageInfo=lv=-56;cid=CID-eb4c7f41-5e87-4dfb-b0d9-dd50227e1039;nsid=1181918405;c=0)
	at org.apache.hadoop.hdfs.server.blockmanagement.DatanodeManager.registerDatanode(DatanodeManager.java:876)
	at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.registerDatanode(FSNamesystem.java:5268)
	at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.registerDatanode(NameNodeRpcServer.java:1176)
	at org.apache.hadoop.hdfs.protocolPB.DatanodeProtocolServerSideTranslatorPB.registerDatanode(DatanodeProtocolServerSideTranslatorPB.java:100)
	at org.apache.hadoop.hdfs.protocol.proto.DatanodeProtocolProtos$DatanodeProtocolService$2.callBlockingMethod(DatanodeProtocolProtos.java:29184)
	at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:617)
	at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:1073)
	at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2281)
	at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2277)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.security.auth.Subject.doAs(Subject.java:422)
	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1917)
	at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2275)

解决步骤:

【原理】:DataNote与NameNote交互时,除了,服务器ip的互相访问权限外,hdfs也还得设置DataNote对NameNote的注册信息,咱们这直接关闭注册检查

1.在hadoop安装目录下的hdf-site.xml,中添加下面属性

    <property>
        <name>dfs.namenode.datanode.registration.ip-hostname-check</name>
        <value>false</value>
    </property>

2.将当前服务器配置改动,scp到其他服务器

	#注意自己的路径,及服务器描述
	cd $HADOOP_HOME/etc/hadoop
	
	scp hdfs-site.xml root@slave1:/home/test/install/hadoop-2.6.0-cdh5.14.0/etc/hadoop/
	scp hdfs-site.xml root@slave2:/home/test/install/hadoop-2.6.0-cdh5.14.0/etc/hadoop/

收获:“ Block pool”、“Uuid”等标识是什么?

【说明】:记载hdfs访问、交互的id所在目录
在这里插入图片描述
【图】:nameNode&主结点
在这里插入图片描述
【图】:dataNode&从结点
在这里插入图片描述

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐