2016-03-30 30 views
1

將主Hadoop DFS名稱節點從一臺主機移動到另一臺主機的正確步驟是什麼?如何將HDFS名稱節點移動到新主機

我使用Ubuntu 14.04.3 LTS(不含YARN)上的hadoop 2.7.1版本。

步驟來完成:

  • 複製整個Hadoop的目錄複製到新主機
  • 設置新的主人在$ HADOOP_HOME的/ etc/Hadoop的/主
  • 更新在fs.default.name標籤$ hadoop_home/etc/hadoop/core-site.xml
  • 使用舊的namenode的ClusterID格式化新的namenode:$ hadoop_home // bin/hadoop namenode -format -custerId $ CLUSTER_ID(我從配置中刪除了奴隸確保沒有一個奴隸受到影響;也許這是一個問題?)

問題是數據節點還是不來,因爲羣ID的不匹配起來:

2016-03-30 16:20:28,718 WARN org.apache.hadoop.hdfs.server.common.Storage: java.io.IOException: Incompatible clusterIDs in /storage/data: namenode clusterID = CID-c19c691d-10da-4449-a7b6-c953465ce237; datanode clusterID = CID-af87cb62-d806-41d6-9638-e9e559dd3ed7 
2016-03-30 16:20:28,718 FATAL org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for Block pool <registering> (Datanode Uuid unassigned) service to XXXXXXXXXXXXXX. Exiting. 
java.io.IOException: All specified directories are failed to load. 

有什麼建議? 我還需要添加BlockPool-ID嗎?

回答

1

所以我終於設法讓它移動。

  • 將運行HDFS到安全模式: 斌/ Hadoop的dfsadmin -safemode進入
  • 壓縮包下dfs.name.dir
  • 的完整目錄將壓縮包到新的NameNode和提取內容。
  • 變化的核心-site.xml中,主到新的節點
  • 開始的主機名和離開安全模式: 斌/ Hadoop的dfsadmin -safemode離開
+0

相反tar'ing的',' rsync'ing也適用於'$ HADOOP_HOME'和檢查點目錄。 –