我在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>
答案 0 :(得分:0)
以下是CDH用户google小组的类似帖子,可能会对您有所帮助:https://groups.google.com/a/cloudera.org/forum/#!topic/cdh-user/FYu0gZcdXuE
您是否也从cloudera manager或命令行执行namenode格式?理想情况下,您应该通过cloudera manager而不是命令行来完成它。