帮助请人们
我正在尝试设置我的Hadoop多节点环境(1个主服务器,1个辅助服务器和3个服务器 - 在AWS上使用hadoop 2.7.1 / Ubuntu 14)并且我正在获取" NameSystem.getDatanode"错误信息。我浏览并阅读并尝试但达到我的极限。你能指点我至少某个方向吗
来自master的日志(提取) - xxx-141/142/143是奴隶的ip #&39;'''''''''''&# 39;'''''''''''' '''''''''' 第134行: 2016-01-23 17:36:19,432错误org.apache.hadoop.hdfs.StateChange:BLOCK * NameSystem.getDatanode:数据节点DatanodeRegistration(XXX.XX.XX.143:50010 ,datanodeUuid = 6826238d-9213-4b19-a6eb-13115e3bea8d,infoPort = 50075,infoSecurePort = 0,ipcPort = 50020,storageInfo = lv = -56; cid = CID-57295bbd-e78e-4265-99f7-fdacccbcb33a; nsid = 1674724909; c = 0)正在尝试报告存储ID 6826238d-9213-4b19-a6eb-13115e3bea8d。节点172.31.22.141:50010应该为此存储服务。
第135行: 2016-01-23 17:36:19,457错误org.apache.hadoop.hdfs.StateChange:BLOCK * NameSystem.getDatanode:数据节点DatanodeRegistration(XXX.XX.XX。 142:50010,datanodeUuid = 6826238d-9213-4b19-a6eb-13115e3bea8d,infoPort = 50075,infoSecurePort = 0,ipcPort = 50020,storageInfo = lv = -56; cid = CID-57295bbd-e78e-4265-99f7-fdacccbcb33a; nsid = 1674724909; c = 0)正在尝试报告存储ID 6826238d-9213-4b19-a6eb-13115e3bea8d。节点172.31.22.141:50010应该为此存储服务。
第159行: 2016-01-23 17:36:20,988错误org.apache.hadoop.hdfs.StateChange:BLOCK * NameSystem.getDatanode:数据节点DatanodeRegistration(XXX.XX.XX。 141:50010,datanodeUuid = 6826238d-9213-4b19-a6eb-13115e3bea8d,infoPort = 50075,infoSecurePort = 0,ipcPort = 50020,storageInfo = lv = -56; cid = CID-57295bbd-e78e-4265-99f7-fdacccbcb33a; nsid = 1674724909; c = 0)正在尝试报告存储ID 6826238d-9213-4b19-a6eb-13115e3bea8d。节点XXX.XX.XX.143:50010应该为此存储服务。
从SLAVE2 SERVER日志中提取 #&39;'''''''''''&# 39;'''''''''''' ''''''''''''
2016-01-23 17:36:14,812 INFO org.apache.hadoop.hdfs.server.datanode.DataNode:STARTUP_MSG: `2016-01-23 17:36:18,607 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):数据节点DatanodeRegistration(1XX.XX.XX.142:50010,datanodeUuid = 6826238d-9213-4b19-a6eb-13115e3bea8d,infoPort = 50075,infoSecurePort = 0,ipcPort = 50020,storageInfo = lv = -56; cid = CID-57295bbd-e78e-4265-99f7-fdacccbcb33a; nsid = 1674724909; c = 0)正在尝试报告存储ID 6826238d-9213- 4b19-a6eb-13115e3bea8d。节点1XX.XX.XX.141:50010预计将为此存储提供服务。 at org.apache.hadoop.hdfs.server.blockmanagement.DatanodeManager.getDatanode(DatanodeManager.java:495) 在org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.processReport(BlockManager.java:1791) at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.blockReport(NameNodeRpcServer.java:1315) at org.apache.hadoop.hdfs.protocolPB.DatanodeProtocolServerSideTranslatorPB.blockReport(DatanodeProtocolServerSideTranslatorPB.java:163) at org.apache.hadoop.hdfs.protocol.proto.DatanodeProtocolProtos $ DatanodeProtocolService $ 2.callBlockingMethod(DatanodeProtocolProtos.java:28543) 在org.apache.hadoop.ipc.ProtobufRpcEngine $ Server $ ProtoBufRpcInvoker.call(ProtobufRpcEngine.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) at java.security.AccessController.doPrivileged(Native Method) 在javax.security.auth.Subject.doAs(Subject.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:18,610 WARN org.apache.hadoop.hdfs.server.datanode.DataNode:结束块池服务:Block pool BP-1050309752-MAST.XX.XX.169-1453113991010( Datanode Uuid 6826238d-9213-4b19-a6eb-13115e3bea8d)服务到主/ MAST.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:20,611 WARN org.apache.hadoop.hdfs.server.datanode.DataNode:退出Datanode 2016-01-23 17:36:20,613 INFO org.apache.hadoop.util.ExitUtil:退出状态0 2016-01-23 17:36:20,614 INFO org.apache.hadoop.hdfs.server.datanode.DataNode:SHUTDOWN_MSG: / ******************* *********** SHUTDOWN_MSG:在ip-SLAV-XX-XX-142 / 1XX.XX.XX.142关闭DataNode ************************************************** ********** /`
答案 0 :(得分:0)
看起来你有三个奴隶
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目录,然后重新启动它们。
即。停止奴隶,在dfs目录上执行rm -rf,如:
rm -rf /tmp/hadoop-hadoop/dfs/
然后,您可以重新启动并检查所有从属设备是否正在连接并测试文件复制,例如通过将某些文件的复制级别设置为4,如:
hdfs dfs -setrep -w 4 -R /user/somedir
-w
选项导致命令等待复制成功。