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),确保配置与新版本兼容。