Ubuntu環境下HDFS版本升級步驟及注意事項
core-site.xml
、hdfs-site.xml
、yarn-site.xml
),防止升級過程中出現數據丟失或配置錯誤無法恢復。hadoop-3.4.0.tar.gz
),上傳至Ubuntu服務器并解壓至指定目錄(如/opt/hadoop
),建議備份或重命名舊版Hadoop目錄(如/opt/hadoop-old
)以便后續回滾。HADOOP_HOME
指向新版本Hadoop目錄,并更新PATH
變量。例如,在/etc/profile
中添加:export HADOOP_HOME=/opt/hadoop/hadoop-3.4.0
,然后執行source /etc/profile
使配置生效。滾動升級適用于支持高可用性(HA)的集群,通過逐個升級NameNode和DataNode,實現集群不停機升級。
stop-dfs.sh
命令,停止NameNode、DataNode等服務。hdfs dfsadmin -rollingUpgrade prepare
命令,創建用于回滾的fsimage文件。hdfs dfsadmin -rollingUpgrade query
命令,確認返回結果為“Proceed with rolling upgrade”,表示可以開始升級。hdfs haadmin -failover nn1 nn2
(假設nn1為active,nn2為standby)將備用NameNode切換為active;hdfs dfsadmin -shutdownDatanode <datanode_host>:<ipc_port> upgrade
命令關閉DataNode;hdfs --daemon start datanode
;hdfs dfsadmin -report
查看節點狀態),重復上述步驟直至所有DataNode升級完成。hdfs dfsadmin -rollingUpgrade finalize
命令,結束滾動升級流程。若集群未啟用HA,需停機進行升級,步驟如下:
stop-dfs.sh
停止NameNode、DataNode,若有SecondaryNameNode則執行hadoop-daemon.sh stop secondarynamenode
停止SNN。start-dfs.sh -upgrade
命令啟動HDFS,系統會自動執行升級流程(如元數據轉換)。hdfs dfsadmin -upgradeProgress status
命令查看升級進度,直至顯示“Upgrade completed successfully”。hdfs dfsadmin -report
命令,查看NameNode、DataNode的數量及狀態是否正常;訪問NameNode和DataNode的Web界面(默認端口50070、50075),確認版本信息已更新。hdfs fsck /
命令檢查文件系統的健康狀況,確保無壞塊或數據丟失。core-site.xml
中的fs.defaultFS
),測試數據讀寫、MapReduce作業等核心功能是否正常。hdfs dfsadmin -rollingUpgrade rollback
命令回滾到舊版本(僅滾動升級支持),并恢復備份的配置文件和數據。/opt/hadoop/logs/hadoop-*-namenode-*.log
),及時定位并解決問題。core-site.xml
、hdfs-site.xml
等配置文件中的參數(如dfs.replication
、yarn.nodemanager.resource.memory-mb
),確保配置與新版本兼容。