一台服务器故障,硬盘出问题,修复后,启动datanode。出现如下错误。
<pre name="code" class="javascript">2014-09-24 09:45:55,730 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: org.apache.hadoop.hdfs.server.common.InconsistentFSStateException: Directory /data2/dfs/data is in an inconsistent state: has incompatible storage Id.
at org.apache.hadoop.hdfs.server.datanode.DataStorage.getFields(DataStorage.java:182)
at org.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.read(Storage.java:226)
at org.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.read(Storage.java:215)
at org.apache.hadoop.hdfs.server.datanode.DataStorage.doTransition(DataStorage.java:227)
at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:147)
at org.apache.hadoop.hdfs.server.datanode.DataNode.startDataNode(DataNode.java:399)
at org.apache.hadoop.hdfs.server.datanode.DataNode.<init>(DataNode.java:309)
at org.apache.hadoop.hdfs.server.datanode.DataNode.makeInstance(DataNode.java:1651)
at org.apache.hadoop.hdfs.server.datanode.DataNode.instantiateDataNode(DataNode.java:1590)
at org.apache.hadoop.hdfs.server.datanode.DataNode.createDataNode(DataNode.java:1608)
at org.apache.hadoop.hdfs.server.datanode.DataNode.secureMain(DataNode.java:1734)
at org.apache.hadoop.hdfs.server.datanode.DataNode.main(DataNode.java:1751)
解决方法:
vi /data2//dfs/data/current/VERSION
将storageID=后面id清除,重新启动,故障解决。