我在40台机器的集群中使用Hadoop hadoop-2.0.0-mr1-cdh4.1.2.每台机器有12个由hadoop使用的磁盘.一台机器中的某些磁盘是不平衡的,我决定手动重新平衡,如本文所述:在hadoop中重新平衡单个datanode 我停止了该服务器上的DataNode,移动了块文件对,在一些磁盘之间移动了整个子目录.
一旦我停止了DataNode,NameNode就会通过在UI中显示以下消息来抱怨缺少块:警告:有2002个丢失的块.请检查日志或运行fsck以识别丢失的块.
然后,我尝试重新启动DataNode.它拒绝成功启动,它会记录错误和警告,如下所示:
java.io.IOException:目录无效目录或I/O错误:/data/disk3/dfs/data/current/BP-208475052-10.165.18.36-1351280731538/current/finalized/subdir61/subdir28
2013-12-20 01:40:29,046 WARN org.apache.hadoop.hdfs.server.datanode.DataNode:offerService中的IOException java.io.IOException:找不到块池BP-208475052-10.165.18.36-1351280731538
2013-12-20 01:40:29,088错误org.apache.hadoop.hdfs.server.datanode.DataNode:块池的BPOfferService中的异常BP-208475052-10.165.18.36-1351280731538(存储ID DS-737580588-10.165.18.36 -50010-1351280778276)服务于aspen8hdp19.turner.com/10.165.18.56:54310 java.lang.NullPointerException
2013-12-20 01:40:34,088 WARN org.apache.hadoop.hdfs.server.datanode.DataNode:offerService中的IOException java.io.IOException:找不到块池BP-208475052-10.165.18.36-1351280731538
所以,我有一些问题:
我感谢您的帮助.爱德华多.
hadoop ×1