2

我尝试在 Ubuntu 11.04 和 Java 6 sun 上安装 Hadoop。我正在使用 hadoop 0.20.203 rc1 构建。我在使用 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.<init>(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 甚至 cloudera 升级和降级到 0.20 分支中的几个版本,也再次删除和安装 hadoop。但我仍然遇到这个问题。典型的解决方法(例如删除 /tmp 目录中的 *.pid 文件)也不起作用。有人可以指出我的解决方案吗?

4

1 回答 1

4

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

于 2011-12-26T01:13:01.083 回答