我尝试在Ubuntu 11.04和Java 6 sun上安装Hadoop。我使用的是Hadoop0.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.<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升级和降级到0.20分支的几个版本,甚至cloudera,也删除和安装hadoop。但我还是遇到了这个问题。典型的解决方法也不起作用,例如删除/tmp目录中的*.pid文件。有谁能告诉我解决这个问题的方法吗?
发布于 2011-12-26 09:13:01
是的,我格式化了namenode,问题出在我复制粘贴的hdfs-site.xml的流氓模板中,dfs.data.dir和dfs.name.dir指向相同的目录位置,导致存储锁定错误。它们应该是不同的目录。不幸的是,hadoop文档在这个微妙的细节中不够清楚。
https://stackoverflow.com/questions/8613112
复制相似问题