datanode错误:namesystem.getdatanode

c3frrgcw  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(362)

请大家帮忙
我正在尝试设置我的hadoop多节点env(1个主节点、1个辅助节点和3个从节点-aws上的hadoop2.7.1/ubuntu14),我收到了“namesystem.getdatanode”错误消息。我浏览和阅读,并试图达到我的极限。你能给我指个方向吗
来自主服务器的日志(摘录)--141/142/143是从服务器的ip(摘录):第134行:2016-01-23 17:36:19432 error org.apache.hadoop.hdfs.statechange:block*namesystem.getdatanode:data node datanode注册(.xx.xx.143:50010,datanodeuid=6826238d-9213-4b19-a6eb-13115e3bea8d,infoport=50075,infosecureport=0,ipcport=50020,storageinfo=lv=-56;cid=cid-57295bbd-e78e-4265-99f7-FDACCCB33A;nsid=1674724909;c=0)正在尝试报告存储id 6826238d-9213-4b19-a6eb-13115E38D。节点172.31.22.141:50010将用于此存储。
第135行:2016-01-23 17:36:19457 error org.apache.hadoop.hdfs.statechange:block*namesystem.getdatanode:data node数据节点注册(.xx.xx.142:50010,datanodeuid=6826238d-9213-4b19-a6eb-13115e3bea8d,infoport=50075,infosecureport=0,ipcport=50020,storageinfo=lv=-56;cid=cid-57295bbd-e78e-4265-99f7-FDACCCB33A;nsid=1674724909;c=0)正在尝试报告存储id 6826238d-9213-4b19-a6eb-13115E38D。节点172.31.22.141:50010将用于此存储。
第159行:2016-01-23 17:36:20988 error org.apache.hadoop.hdfs.statechange:block*namesystem.getdatanode:data node数据节点注册(.xx.xx.141:50010,datanodeuid=6826238d-9213-4b19-a6eb-13115e3bea8d,infoport=50075,infosecureport=0,ipcport=50020,storageinfo=lv=-56;cid=cid-57295bbd-e78e-4265-99f7-FDACCCB33A;nsid=1674724909;c=0)正在尝试报告存储id 6826238d-9213-4b19-a6eb-13115E38D。节点.xx.xx.143:50010将用于此存储。
从slave2服务器日志中提取
2016-01-23 17:36:14812 info org.apache.hadoop.hdfs.server.datanode.datanode:启动消息:`2016-01-23 17:36:18607 info org.apache.hadoop.hdfs.server.datanode.datanode:未成功发送块报告0x3c90bbfe60c,包含1个存储报告,其中我们发送了0个。报告总共有1个块,使用了0个rpc。这需要4毫秒生成,144毫秒用于rpc和nn处理。没有收到命令。2016-01-23 17:36:18,608 warn org.apache.hadoop.hdfs.server.datanode.datanode:block pool bp-1050309752-mast.xx.xx.169-1453113991010(datanode uuid 6826238d-9213-4b19-a6eb-13115e3bea8d)master/mast.xx.xx.169:9000正在关闭org.apache.hadoop.ipc.remoteexception(org.apache.hadoop.hdfs.protocol.unregisterednodeexception):数据节点数据节点注册(1xx.xx.xx.142:50010,数据节点UID=6826238d-9213-4b19-a6eb-13115e3bea8d,infoport=50075,infosecureport=0,ipcport=50020,storageinfo=lv=-56;cid=cid-57295bbd-e78e-4265-99f7-FDACCCB33A;nsid=1674724909;c=0)正在尝试报告存储id 6826238d-9213-4b19-a6eb-13115E38D。节点1xx.xx.xx.141:50010将服务于此存储。在org.apache.hadoop.hdfs.server.blockmanagement.datanodemanager.getdatanode(datanodemanager。java:495)在org.apache.hadoop.hdfs.server.blockmanagement.blockmanager.processreport(blockmanager。java:1791)在org.apache.hadoop.hdfs.server.namenode.namenoderpcserver.blockreport(namenoderpcserver。java:1315)在org.apache.hadoop.hdfs.protocolpb.datanodeprotocolserversidetranslatorpb.blockreport(datanodeprotocolserversidetranslatorpb。java:163)在org.apache.hadoop.hdfs.protocol.proto.datanodeprotocolprotos$datanodeprotocolservice$2.callblockingmethod(datanodeprotocolprotos。java:28543)在org.apache.hadoop.ipc.protobufrpceengine$server$protobufrpinvoker.call(protobufrpceengine。java:616)在org.apache.hadoop.ipc.rpc$server.call(rpc。java:969)在org.apache.hadoop.ipc.server$handler$1.run(server。java:2049)在org.apache.hadoop.ipc.server$handler$1.run(server。java:2045)位于java.security.accesscontroller.doprivileged(本机方法)javax.security.auth.subject.doas(主题。java:415)在org.apache.hadoop.security.usergroupinformation.doas(usergroupinformation。java:1657)在org.apache.hadoop.ipc.server$handler.run(server。java:2043)

at org.apache.hadoop.ipc.Client.call(Client.java:1476)
at org.apache.hadoop.ipc.Client.call(Client.java:1407)
at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:229)
at com.sun.proxy.$Proxy13.blockReport(Unknown Source)
at org.apache.hadoop.hdfs.protocolPB.DatanodeProtocolClientSideTranslatorPB.blockReport(DatanodeProtocolClientSideTranslatorPB.java:199)
at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.blockReport(BPServiceActor.java:463)
at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.offerService(BPServiceActor.java:688)
at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.run(BPServiceActor.java:823)
at java.lang.Thread.run(Thread.java:745)

2016-01-23 17:36:18610 warn org.apache.hadoop.hdfs.server.datanode.datanode:终止块池服务,用于:块池bp-1050309752-mast.xx.xx.169-1453113991010(datanode uuid 6826238d-9213-4b19-a6eb-13115e3bea8d)向主/桅杆提供服务。xx.xx.169:9000 2016-01-23 17:36:18,611 info org.apache.hadoop.hdfs.server.datanode.datanode:删除的块池bp-1050309752-mast.xx.xx.169-1453113991010(datanode uuid 6826238d-9213-4b19-a6eb-13115e3bea8d)2016-01-23 17:36:18,611 info org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.fsdatasetimpl:删除块池bp-1050309752-mast.xx.xx.169-1453113991010 2016-01-23 17:36:20611警告org.apache.hadoop.hdfs.server.datanode.datanode:退出datanode 2016-01-23 17:36:20613 info org.apache.hadoop.util.exitil:退出状态0 2016-01-23 17:36:20,614 info org.apache.hadoop.hdfs.server.datanode.datanode:关闭消息:/************关闭消息:关闭ip-slav-xx-xx-142/1xx.xx.xx.142上的datanode/`

ggazkfy8

ggazkfy81#

看起来你有三个奴隶

172.31.22.141:50010
172.31.22.142:50010
172.31.22.143:50010

在第一个从机已经包含在集群中之后,您从第一个从机的克隆创建了其中两个。这两个克隆现在已经有了dfs的一个副本,并使用与第一个从机相同的存储id。名称服务器只需要一个具有相同id的从属服务器。它试图通过日志来告诉您:

[...] is attempting to report storage ID [...].
Node [...]:50010 is expected to serve this storage.

您可以尝试删除两个从属服务器上的dfs目录,然后重新启动它们。
i、 e.停止从机,在dfs目录上执行rm-rf,如:

rm -rf /tmp/hadoop-hadoop/dfs/

然后,您可以重新启动并检查所有从属设备是否正在连接并测试文件复制,例如,通过将某些文件的复制级别设置为4,例如:

hdfs dfs -setrep -w 4 -R /user/somedir

这个 -w 选项使命令等待复制成功。

相关问题