我在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>