hadoop滚动升级:由3.2.3版本升级到3.3.5版本,只需要升级hdfs即可,yarn部分重启服务即可完成升级
1、旧版本的hadoop为3.2.3
安装路径:/app/fsms/core/hadoop-3.2.3,部署方式如下:
DS-FMS01 | DS-FMS02 | DS-FMS03 |
---|---|---|
namenode | namenode | |
zkfc | zkfc | |
journalnode | journalnode | journalnode |
datanode | datanode | datanode |
2、新版本的hadoop为3.3.5
安装路径:/app/fsms/core/hadoop-3.3.5
部署方式:与上面一至
3、安装新版本hadoop
tar -zxvf hadoop-3.3.5.tar.gz /app/fsms/core
4、备份NameNode元数据到新的hadoop集群下,备份的目录对应hdfs-site.xml中的配置,如果不记得NameNode目录存储的地址可以通过查看hdfs-site.xml配置,配置名如下
dfs.namenode.name.dir
5、复制3.2.3目录下的配置文件到3.3.5的${HADOOP_HOME}/etc/hadoop目录下,包括的配置文件为hdfs-site.xml,yarn-site.xml,core-site.xml,mapre-site.xml
6、修改3.3.5的hadoop下的hdfs-site.xml配置,增加滚动升级的配置
<property>
<name>dfs.namenode.duringRollingUpgrade.enable</name>
<value>true</value>
</property>
7、使用3.2.3的hadoop环境变量执行以下操作
hdfs dfsadmin -rollingUpgrade prepare
hdfs dfsadmin -rollingUpgrade query
关闭standby节点的namenode hdfs --deamon stop namenode
9、使用3.3.5的hadoop环境变量执行以下操作,升级DS-FMS02分区standby节点的namenode
hdfs --daemon start namenode -rollingUpgrade started
10、第9步操作完成后standby节点的namenode应该也启动了,并且状态为standby,此时停止active节点的namenode,完成主备切换
hdfs --daemon stop namenode
11、使用3.3.5的hadoop环境变量,升级DS-FMS01分区的namenode节点
hdfs --daemon start namenode -rollingUpgrade started
12、完成上述操作后两个namenode的节点都正常启动,且状态互换,执行过程中无报错,则升级成功
13、使用如下命令完成所有datanode节点的升级
hdfs dfsadmin -shutdownDatanode <DATANODE_HOST:IPC_PORT>
hdfs dfsadmin -getDatanodeInfo <DATANODE_HOST:IPC_PORT>
备注:此处的PORT每个版本不固定,使用get命令逐个获取监听PORT的返回值,有个返回值中携带版本号,就是这个PORT
14、逐个重启每个datanode
hdfs --daemon start datanode
15、完成滚动升级
运行“ hdfs dfsadmin -rollingUpgrade Finalize ”以完成滚动升级
16、完成namenode、datanode的升级后,需使用3.3.5的环境变量将journalnode,zkfc,resourcemanager,nodemanager,jobhistory等全部重启一遍,即可完成hadoop的全部滚动升级。