ITPub博客

首页 > 数据库 > NoSQL > 记录:hadoop 2.5.2 集群动态增加新datanode 无法通信的问题

记录:hadoop 2.5.2 集群动态增加新datanode 无法通信的问题

原创 NoSQL 作者:denglt 时间:2014-12-03 09:27:14 0 删除 编辑

1、拷贝NameNode上的hadoop home 目录到新的datanode(包括配置文件等)。

2、启动新的datanode

      hadoop-daemon.sh start datanode

datanode 与 namenode通信成功,成功创建数据目录。

[hadoop@laodeng2 current]$ ls -l
total 8
drwx------ 4 hadoop hadoop 4096 Dec  2 20:07 BP-1446562160-127.0.0.1-1417496109738
-rw-rw-r-- 1 hadoop hadoop  229 Dec  2 20:02 VERSION

[hadoop@laodeng2 current]$ more VERSION
#Tue Dec 02 20:02:39 CST 2014
storageID=DS-bc5ecbbd-0542-41f6-a273-854d44f537c0
clusterID=CID-118021aa-dc88-4fa3-81db-f203b3502726
cTime=0
datanodeUuid=91493e2e-8525-4971-bd06-3248dc3b8787
storageType=DATA_NODE
layoutVersion=-55


但是在namenode上使用hdfs dfsadmin -report 看不到新增加的datanode。

查看datanode日志:

2014-12-02 18:48:42,046 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: Block pool BP-1446562160-127.0.0.1-1417496109738 (Data
node Uuid null) service to /172.16.110.133:9000 beginning handshake with NN
2014-12-02 18:48:42,123 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for Block pool BP-1446562160-12
7.0.0.1-1417496109738 (Datanode Uuid null) service to /172.16.110.133:9000 Datanode denied communication with namenode because hostn
ame cannot be resolved (ip=172.16.110.132, hostname=172.16.110.132): DatanodeRegistration(0.0.0.0, datanodeUuid=91493e2e-8525-4971-b
d06-3248dc3b8787, infoPort=50075, ipcPort=50020, storageInfo=lv=-55;cid=CID-118021aa-dc88-4fa3-81db-f203b3502726;nsid=1575155189;c=0
)
        at org.apache.hadoop.hdfs.server.blockmanagement.DatanodeManager.registerDatanode(DatanodeManager.java:874)
        at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.registerDatanode(FSNamesystem.java:4514)
        at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.registerDatanode(NameNodeRpcServer.java:1017)
        at org.apache.hadoop.hdfs.protocolPB.DatanodeProtocolServerSideTranslatorPB.registerDatanode(DatanodeProtocolServerSideTrans
latorPB.java:92)
        at org.apache.hadoop.hdfs.protocol.proto.DatanodeProtocolProtos$DatanodeProtocolService$2.callBlockingMethod(DatanodeProtoco
lProtos.java:28057)
        at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:585)
        at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:928)
        at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2013)
        at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2009)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:396)
        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1614)
        at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2007)


dns解析问题:

修改namenode上的/etc/hosts文件,加上新datanode的ip配置,问题解决。

疑问:datanode已经连接上namenode,并生成了数据目录,获取到了clusterID。namenode与datanode通信成功,为什么还要配置hosts呢?


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/195110/viewspace-1354684/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-11-04

  • 博文量
    118
  • 访问量
    702884