我在Centos 6.6上用ClouderaManager运行CDH-5.3.2-1.cdh5.3.2.p0.10。 我的HDFS服务正在使用群集。但我想改变hadoop数据的安装点。然而,如果没有成功,所以我想出了回滚所有更改的想法,但以前的配置不起作用令人沮丧。 我在集群内有两个节点。一个数据节点不好DataNodes Health Bad
。 在日志中我有一些错误Cloudera hdfs另一个namenode已经锁定了存储目录
1:40:10.821 PM ERROR org.apache.hadoop.hdfs.server.common.Storage
It appears that another namenode [email protected] 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锁定目录。
有目录
[[email protected] 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
DIR什么是有趣一点。
作为hdfs用户执行的hdfs文件的所有操作。 在文件/etc/hadoop/conf/hdfs-site.xml
有
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///dfs/nn</value>
</property>