Ubuntu系统更新HDFS版本的步骤指南
dfs.namenode.name.dir,如/usr/local/hadoop/hdfs/namenode)和DataNode的数据目录(dfs.datanode.data.dir,如/usr/local/hadoop/hdfs/datanode),防止升级过程中数据丢失。sudo apt update && sudo apt upgrade -y;java -version(推荐OpenJDK 8/11),若未安装则执行sudo apt install openjdk-11-jdk;ssh localhost能免密登录。hadoop-3.3.6.tar.gz):wget https://downloads.apache.org/hadoop/core/hadoop-3.3.6/hadoop-3.3.6.tar.gz。/usr/local/hadoop),并备份旧版本:sudo mv /usr/local/hadoop /usr/local/hadoop-old
sudo tar -xzvf hadoop-3.3.6.tar.gz -C /usr/local/
sudo mv /usr/local/hadoop-3.3.6 /usr/local/hadoop
```。
~/.bashrc文件,修改HADOOP_HOME为新版本路径,并更新PATH:export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
执行source ~/.bashrc使配置生效。进入$HADOOP_HOME/etc/hadoop目录,检查并更新关键配置文件:
fs.defaultFS指向正确的HDFS地址(如hdfs://localhost:9000);dfs.replication(副本数,单节点设为1)、dfs.namenode.name.dir(NameNode元数据目录)、dfs.datanode.data.dir(DataNode数据目录)等参数;mapreduce.framework.name为yarn;在升级前,停止所有HDFS相关服务:
$HADOOP_HOME/sbin/stop-dfs.sh
使用jps命令确认NameNode、DataNode进程已停止。
-upgrade参数启动HDFS,触发版本升级流程:$HADOOP_HOME/sbin/start-dfs.sh -upgrade
hdfs dfsadmin -upgradeProgress status
# 查看详细进度
hdfs dfsadmin -upgradeProgress details
若升级卡住,可使用force强制继续(谨慎使用):hdfs dfsadmin -upgradeProgress force
```。
jps命令确认NameNode、DataNode进程已启动;http://localhost:9870),查看集群健康状态。hdfs fsck命令检查文件系统健康:hdfs fsck /
确保无数据块丢失或损坏。hdfs dfs -mkdir /test_upgrade
hdfs dfs -put /local/file.txt /test_upgrade/
hdfs dfs -ls /test_upgrade
若升级后运行稳定(建议观察7天以上),可删除旧版本数据以释放空间:
hdfs dfsadmin -finalizeUpgrade
执行后,无法再回滚到旧版本。
若升级过程中出现问题,可通过以下步骤回滚到旧版本:
$HADOOP_HOME/sbin/stop-dfs.sh;sbin/start-dfs.sh脚本启动;注意:生产环境升级前,务必在测试环境中模拟整个流程,确保兼容性和稳定性。