Cloudera hdfs另一个namenode已经锁定了存储目录

时间:2015-04-28 12:04:11

标签: hadoop cluster-computing hdfs cloudera-cdh cloudera-manager

我在Centos 6.6上使用ClouderaManager运行CDH-5.3.2-1.cdh5.3.2.p0.10。 我的HDFS服务正在使用群集。但我想改变hadoop数据的安装点。但是没有成功,所以我提出了回滚所有更改的想法,但之前的配置不起作用,令人沮丧。 我在群集中有两个节点。数据的一个节点是错误的DataNodes Health Bad。 在日志中我有一些错误

1:40:10.821 PM  ERROR   org.apache.hadoop.hdfs.server.common.Storage    
It appears that another namenode 931@spark1.xxx.xx has already locked the storage directory
1:40:10.821 PM  INFO    org.apache.hadoop.hdfs.server.common.Storage    
Cannot lock storage /dfs/nn. The directory is already locked
1:40:10.821 PM  WARN    org.apache.hadoop.hdfs.server.common.Storage    
java.io.IOException: Cannot lock storage /dfs/nn. The directory is already locked
1:40:10.822 PM  FATAL   org.apache.hadoop.hdfs.server.datanode.DataNode     
Initialization failed for Block pool <registering> (Datanode Uuid unassigned) service to spark1.xxx.xx/10.10.10.10:8022. Exiting. 
java.io.IOException: All specified directories are failed to load.
at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:463)
at org.apache.hadoop.hdfs.server.datanode.DataNode.initStorage(DataNode.java:1318)
at org.apache.hadoop.hdfs.server.datanode.DataNode.initBlockPool(DataNode.java:1288)
at org.apache.hadoop.hdfs.server.datanode.BPOfferService.verifyAndSetNamespaceInfo(BPOfferService.java:320)
at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.connectToNNAndHandshake(BPServiceActor.java:221)
at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.run(BPServiceActor.java:829)
at java.lang.Thread.run(Thread.java:745)

我一直在尝试许多可能的解决方案,但没有任何运气。

  • 格式化hadoop namenode -format
  • 停止群集和rm -rf /dfs/* [并重新格式化]
  • /dfs/nn/current/VERSION档案
  • 的一些调整
  • 删除in_use.lock文件并仅启动缺少节点
  • 删除/tmp/hsperfdata_hdfs/中的文件,其名称类似于锁定目录的pid。

目录中有文件

[root@spark1 dfs]# ll
total 8
drwxr-xr-x 3 hdfs hdfs   4096 Apr 28 13:39 nn
drwx------ 3 hdfs hadoop 4096 Apr 28 13:40 snn

没有dn目录有点有趣。

hdfs文件的所有操作我作为hdfs用户执行。 在文件/etc/hadoop/conf/hdfs-site.xml中有

  <property>
    <name>dfs.namenode.name.dir</name>
    <value>file:///dfs/nn</value>
 </property>

1 个答案:

答案 0 :(得分:0)

以下是CDH用户google小组的类似帖子,可能会对您有所帮助:https://groups.google.com/a/cloudera.org/forum/#!topic/cdh-user/FYu0gZcdXuE

您是否也从cloudera manager或命令行执行namenode格式?理想情况下,您应该通过cloudera manager而不是命令行来完成它。