1、备份 Namenode 的元数据:
1 | hdfs dfsadmin -fetchImage fsImage.back |
2、下载并安装新版本的 Hadoop,推荐从国内镜像站点下载,速度会快很多。
3、修改环境变量,将 HADOOP_HOME 指向新版本的路径,OLD_HADOOP_HOME 指向旧版本的路径,避免混淆。
4、复制旧版本的配置文件到新版本配置文件路径,并修改和路径相关的配置。
5、接下来将 ${HADOOP_HOME}/etc/hadoop/hdfs-site.xml 中的 dfs.namenode.name.dir和dfs.datanode.data.dir 属性的值分别指向新版本 Hadoop 路径下的 hdfs-site.xml 的 dfs.namenode.name.dir 和 dfs.datanode.data.dir 属性的值。
6、新版本 hdfs-site.xml 中添加配置:
1 | <property> |
7、启动旧版本的 HADOOP 并进入安全模式:
1 | # 进入安全模式 |
8、进入新版本的 Hadoop 目录,启动升级:
1 | # 启动升级,速度很快 |
进入 HDFS web 页面会有提示:
Rolling upgrade started at Sun Aug 14 18:42:03 +0800 2022.
Rollback image has been created. Proceed to upgrade daemons.
进入 Datanodes 页面,每个节点最后一个字段也会提示当前 datanode 的版本升级到了新的版本。
9、确认升级成功
1 | $ ./hdfs dfsadmin -rollingUpgrade finalize |