hdfs滚动升级(rollingUpgrade )

news/2024/5/20 1:12:46 标签: hdfs, hadoop, 大数据

最近对hdfs的升级过程很感兴趣,所以准备研究下其升级的过程,本篇文章是依据官网文档进行的升级过程(地址:Apache Hadoop 2.10.2 – HDFS Rolling Upgrade),该文章中还有关于降低的介绍,感兴趣的可以自行查阅验证。

1、升级基础常识(提取自官网)

1)hdfs升级有两种,一种是停机升级,一种是滚动升级。滚动升级允许datanode、namenode等组件各自独立的升级,且不用停止hdfs服务;

2)滚动升级的前提是集群是HA高可用模式

3)滚动升级从hadoop2.4.0开始支持

4)滚动升级一般是升级namenode和datanodejournalnode和zkfc相对稳定,一般不升级,如果升级可能会导致集群下线

2、环境准备

HA高可用集群一套,我这里用的版本是2.10.1

准备升级的新版本安装包一个,我这里用的是3.2.4版本;

3、数据备份(用于升级异常后回滚)

1)备份镜像fsimage

hdfs dfsadmin -rollingUpgrade prepare

2)查询备份进度

hdfs dfsadmin -rollingUpgrade query

出现“Proceed with rolling upgrade”表示fsimage创建成功

3)拷贝2.10.1中的关键配置到3.2.4安装包中,并分发安装包到所有节点

core-site.xml、hdfs-site.xml、hadoop-env.sh

4、环境变量变更

修改/etc/profile中环境变量,指向最新的版本(如果还是指向老版本,即使用全路径命令,还是会影响新版本的命令执行):

5、升级namenode(注意,此时执行的是3.2.4版本中的命令)

首先升级standby节点,因为我本地nn1是active,所以先升级nn2,升级流程如下:

kill -9 <namenode pid>
hdfs --daemon start namenode -rollingUpgrade started

此时到web页面也可观察到nn2节点的版本已经升级到了3.2.4版本

其次将nn2转换为active状态后重启nn1:

我这里本来向用failover强制转换active和stanby状态,但是没成功,于是就主动杀死当前namenode进程,以此达到nn2由standby转换为active的过程,注意这里不要刚杀死nn1的namenode进程就重启,最好在nn2上执行hdfs haadmin -getServiceState nn2确认nn2已经转换为active状态,再升级重启nn1上的namenode进程。

至此,namenode的升级已经完成。接下来我们看下datanode的升级过程。

6、升级datanode(注意,此时执行的是3.2.4版本中的命令)

推荐:datanode节点一个个关闭在重启升级,不要批量关闭和重启升级

首先执行如下指令关闭datanode节点:

hdfs dfsadmin -shutdownDatanode <DATANODE_HOST:IPC_PORT> upgrade

其次执行如下指令或者jps指令查看datanode是否已经被关闭:

hdfs dfsadmin -getDatanodeInfo node1:50020

最后则是在对应的datanode节点重启datanode进程:

hdfs --daemon start datanode

datanode的升级我只贴了node1节点的图,其它节点过程类似就没贴。

7、确认升级结束

执行如下命令确认升级结束

        hdfs dfsadmin -rollingUpgrade finalize

8、效果

可以看到namenode和datanode都运行正常,且版本升级为了3.2.4。而且web页面上的升级信息也自动消除调了。


http://www.niftyadmin.cn/n/4990925.html

相关文章

Markdown Preview Plus Chrome插件使用

Markdown Preview Plus Chrome插件使用 1.插件说明2.插件下载3.插件配置4.文档样式4.1 网页显示4.2 导出PDF 系统&#xff1a;Win10 Chrome&#xff1a;113.0.5672.127 Markdown Preview Plus&#xff1a;0.7.3 1.插件说明 一般 markdown 工具自带的预览功能比较简单&#xff…

1. 安装Zookeeper

​ 1.下载 点击下载Zookeeper 单机版安装 安装Zookeeper前需要先安装jdk上传安装包rz解压安装包:tar -zxvf apache-zookeeper-3.6.0-bin.tar.gz -C /opt/app/zookeeper zookeeper目录结构:a. bin: 放置运行脚本和工具脚本b. conf: zookeeper 默认读取配置的目录,里面会有…

在Linux上安装SonarQube

安装SonarQube在Linux上需要按照以下步骤进行操作&#xff1a; 下载并解压SonarQube安装包。可以从SonarQube官方网站下载最新的稳定版&#xff0c;然后使用命令解压缩安装包。例如&#xff0c;使用命令unzip sonarqube-9.7.zip解压缩。 创建一个新的用户并设置权限。SonarQu…

用户体验地图是什么?UX设计心得分享

大家好&#xff0c;我是设计师l1m0身。本篇文章是关于UX设计中的用户体验地图。 对于新手设计师来说&#xff0c;建立用户体验地图会有一些难度。本篇文章中&#xff0c;我会以简单、易懂的语言分享UX设计师如何制作用户体验地图&#xff0c;希望对你的日常项目体验提升有所帮…

Vue2里监听localstorage里值的变化

有的时候,我们需要根据本地缓存在localstorage里值的变化做出相应的操作,这就需要我们监听localstorage: 首先,我们在src下的libs文件夹下新建一个stroage.js用于重写setItem事件,当使用setItem的时候,触发,window.dispatchEvent派发事件 const Stroage = {// 重写set…

sap 一次性供应商 供应商账户组 临时供应商

sap中有一次性供应商这个名词&#xff0c;一次性供应商和非一次性供应商又有什么区别呢&#xff1f; 有如何区分一次性供应商和非一次性供应商呢&#xff1f; 1 区分一次性供应商和非一次性供应商的标志 在供应商的表LFA1中有个字段标示XCPDK&#xff08;一次性科目&#xff…

活动预告 | 龙智、紫龙游戏与JFrog专家将出席龙智DevSecOps研讨会,探讨企业大规模开发创新

2023年9月8日&#xff08;周五&#xff09;下午13:30-19:45&#xff0c;龙智即将携手Atlassian与JFrog在上海共同举办主题为“大规模开发创新&#xff1a;如何提升企业级开发效率与质量”的线下研讨会。 在此次研讨会上&#xff0c;龙智高级咨询顾问、Atlassian认证专家叶燕秀…

算术化电路中如何使用定制gates?

1. 引言 现有ZKP证明系统中&#xff0c;除关注proof size和verification time之外&#xff0c;Prover Time是一个重要瓶颈。 当侧重Prover Time时&#xff0c;可考虑STARK方案。并借助recursive STARKSNARK&#xff0c;来获得small proof。 Prover Time&#xff1a; 直接取…