liangsw  

错误信息展示:

错误原因:……because hostname cannot be resolved ……

DataNode的log日志错误信息:

2018-09-10 21:30:35,761 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: Block pool BP-235382543-192.168.1.110-1536584792103 (Datanode Uuid null) service to master/192.168.1.110:9000 beginning handshake with NN
2018-09-10 21:30:35,763 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for Block pool BP-235382543-192.168.1.110-1536584792103 (Datanode Uuid null) service to master/192.168.1.110:9000 Datanode denied communication with namenode because hostname cannot be resolved (ip=192.168.1.82, hostname=192.168.1.82): DatanodeRegistration(0.0.0.0:50010, datanodeUuid=e3d2b611-7856-45bf-856d-ab1f6b25ab62, infoPort=50075, infoSecurePort=0, ipcPort=50020, storageInfo=lv=-56;cid=CID-4d0bc1a7-bbad-4270-adc4-64e3cdbda438;nsid=714580893;c=0)
	at org.apache.hadoop.hdfs.server.blockmanagement.DatanodeManager.registerDatanode(DatanodeManager.java:873)
	at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.registerDatanode(FSNamesystem.java:4529)
	at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.registerDatanode(NameNodeRpcServer.java:1286)
	at org.apache.hadoop.hdfs.protocolPB.DatanodeProtocolServerSideTranslatorPB.registerDatanode(DatanodeProtocolServerSideTranslatorPB.java:96)
	at org.apache.hadoop.hdfs.protocol.proto.DatanodeProtocolProtos$DatanodeProtocolService$2.callBlockingMethod(DatanodeProtocolProtos.java:28752)
	at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:616)
	at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:982)
	at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2049)
	at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2045)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.security.auth.Subject.doAs(Subject.java:415)
	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1698)
	at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2043)

申明:Namenode和Datanode的clusterID相同;

Namenode和Datanode的配置文件/etc/hosts配置:

master的slaves 配置也正确;Java和Hadoop环境变量没问题!

Namenode和Datanode相互能够ping通:

请大神指教,谢谢!!!

经过两多次的搜索,现已解决此问题:

解决方法:在hdfs-site.xml中添加以下属性:

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

 

posted on 2018-09-11 09:51  liangsw  阅读(317)  评论(0编辑  收藏  举报