DataNode无法在Hadoop中启动
问题描述:
我试着在Ubuntu 11.04和Java 6 sun上设置Hadoop安装。我正在使用hadoop 0.20.203 rc1版本。我在java-6-sun的Ubuntu 11.04上反复遇到了一个问题。当我尝试启动hadoop时,由于“无法访问存储”,datanode无法启动。DataNode无法在Hadoop中启动
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)
我试过升级和降级到0.20分支的几个版本从Apache,甚至cloudera,也删除和安装hadoop再次。但我仍然遇到这个问题。典型的解决方法,如删除/ tmp目录中的* .pid文件也不起作用。有人能指出我解决这个问题吗?
答
是我格式化了名称节点,问题出在流氓模板hdfs-site.xml
上,我复制粘贴,dfs.data.dir
和dfs.name.dir
指向相同的目录位置导致锁定存储错误。他们应该是不同的目录。不幸的是,在这些细微的细节中,hadoop文档还不够清楚。
下次请正确格式化您的日志。 – 2011-12-23 07:10:56