DataNode无法在Hadoop中启动

我尝试在Ubuntu 11.04和Java 6 sun上安装Hadoop。 我正在使用hadoop 0.20.203 rc1 build。 我一直在使用java-6-sun在Ubuntu 11.04上遇到问题。 当我尝试启动hadoop时,由于“无法访问存储”,datanode无法启动。

2011-12-22 22:09:20,874 INFO org.apache.hadoop.hdfs.server.common.Storage: Cannot lock storage /home/hadoop/work/dfs_blk/hadoop. The directory is already locked. 2011-12-22 22:09:20,896 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Cannot lock storage /home/hadoop/work/dfs_blk/hadoop. The directory is already locked. at org.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.lock(Storage.java:602) at org.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.analyzeStorage(Storage.java:455) at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:111) at org.apache.hadoop.hdfs.server.datanode.DataNode.startDataNode(DataNode.java:354) at org.apache.hadoop.hdfs.server.datanode.DataNode.(DataNode.java:268) at org.apache.hadoop.hdfs.server.datanode.DataNode.makeInstance(DataNode.java:1480) at org.apache.hadoop.hdfs.server.datanode.DataNode.instantiateDataNode(DataNode.java:1419) at org.apache.hadoop.hdfs.server.datanode.DataNode.createDataNode(DataNode.java:1437) at org.apache.hadoop.hdfs.server.datanode.DataNode.secureMain(DataNode.java:1563) at org.apache.hadoop.hdfs.server.datanode.DataNode.main(DataNode.java:1573) 

我已经尝试升级和降级到Apache的0.20分支中的几个版本,甚至是cloudera,还删除并再次安装hadoop。 但我仍然遇到这个问题。 典型的解决方法,如删除/ tmp目录中的* .pid文件也无法正常工作。 有人能指点我解决这个问题吗?

是的我格式化了namenode,问题在于我复制粘贴的hdfs-site.xml的流氓模板, dfs.data.dirdfs.name.dir指向同一目录位置导致锁定存储错误。 它们应该是不同的目录。 不幸的是,在这个微妙的细节中,hadoop文档还不够清晰。