我在启动 hadoop 时遇到以下错误:
2015-09-04 08:49:05,648 ERROR org.apache.hadoop.hdfs.server.common.Storage: It appears that another node 854@ip-1-2-3-4 has already locked the storage directory: /mnt/xvdb/tmp/dfs/namesecondary java.nio.channels.OverlappingFileLockException at org.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.tryLock(Storage.java:712) at org.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.lock(Storage.java:678) at org.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.analyzeStorage(Storage.java:499) at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode$CheckpointStorage.recoverCreate(SecondaryNameNode.java:962) at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.initialize(SecondaryNameNode.java:243) at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.(SecondaryNameNode.java:192) at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.main(SecondaryNameNode.java:671) 2015-09-04 08:49:05,650 INFO org.apache.hadoop.hdfs.server.common.Storage: Cannot lock storage /mnt/xvdb/tmp/dfs/namesecondary. The directory is already locked 2015-09-04 08:49:05,650 FATAL org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode: Failed to start secondary namenode java.io.IOException: Cannot lock storage /mnt/xvdb/tmp/dfs/namesecondary. The directory is already locked at org.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.lock(Storage.java:683) at org.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.analyzeStorage(Storage.java:499) at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode$CheckpointStorage.recoverCreate(SecondaryNameNode.java:962) at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.initialize(SecondaryNameNode.java:243) at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.(SecondaryNameNode.java:192) at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.main(SecondaryNameNode.java:671) 2015-09-04 08:49:05,652 INFO org.apache.hadoop.util.ExitUtil: Exiting with status 1 2015-09-04 08:49:05,653 INFO org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode: SHUTDOWN_MSG: /************************************************************ SHUTDOWN_MSG: Shutting down SecondaryNameNode at ip-@ip-1-2-3-4/@ip-1-2-3-4 ************************************************************/
Hadoop版本:2.7.1(3节点集群)
hdfs-site.xml配置文件:
<configuration>
<property>
<name>dfs.data.dir</name>
<value>/mnt/xvdb/hadoop/dfs/data</value>
<final>true</final>
</property>
<property>
<name>dfs.name.dir</name>
<value>/mnt/xvdb/hadoop/dfs/name</value>
<final>true</final>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>
我也尝试过格式化名称节点,但没有帮助。谁能帮我解决这个问题?
最佳答案
我在这里找到了上述问题的解决方案:http://misconfigurations.blogspot.in/2014/10/hadoop-initialization-failed-for-block.html
如果还有其他解决方案,想看看。
P.S:我已经删除了“dfs.datanode.data.dir”指出的目录,它已经删除了 HDFS 上的所有数据,但帮助我解决了这个问题。因此,您可以使用替代方法(如果有的话)来解决此问题。
关于hadoop - 该目录已经锁定 hadoop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32394167/