hdfs滚动升级(rollingUpgrade )

news2025/1/13 7:33:44

最近对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.coloradmin.cn/o/961293.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【快手小玩法-弹幕游戏】开发者功能测试报告提交模板

背景 快手有明确的要求&#xff0c;准入和准出更加严格&#xff0c;要求有明确的测试报告。格式如下&#xff1a; *本文参考字节wiki&#xff1a;CP侧测试报告模板(复制填写轻雀文档) 其他文章推荐&#xff1a;【抖音小玩法-弹幕游戏】开发者功能测试报告提交模板 一、前言…

Lesson03---类与对象(中篇)

lesson5: 一、类的6个默认成员函数&#xff08;2&#xff1a;29&#xff1a;10&#xff09; 1.什么是空类&#xff1f;&#xff08;2&#xff1a;29&#xff1a;40&#xff09; a.空类中真的什么都没有吗&#xff1f;&#xff08;2&#xff1a;29&#xff1a;50&#xff09;…

学习MATLAB

今日&#xff0c;在大学慕课上找了一门关于MATLAB学习的网课&#xff0c;MATLAB对于我们这种自动化的学生应该是很重要的&#xff0c;之前也是在大三的寒假做自控的课程设计时候用到过&#xff0c;画一些奈奎斯特图&#xff0c;根轨迹图以及伯德图&#xff0c;但那之后也就没怎…

网络协议三要素

计算机语言作为程序员控制一台计算机工作的协议&#xff0c;具备了协议的三要素。 语法&#xff0c;就是这一段内容要符合一定的规则和格式。例如&#xff0c;括号要成对&#xff0c;结束要使用分号等。语义&#xff0c;就是这一段内容要代表某种意义。例如数字减去数字是有意…

单目标追踪——【Transformer】Autoregressive Visual Tracking

目录 文章侧重点网络结构Encoder&#xff08;特征提取与融合得到Vision Features&#xff09;Decoder&#xff08;Vision FeatureMotion Feature 特征融合与输出&#xff09;运动特征生成特征融合与输出 消融实验N与VocabularyBins 论文链接&#xff1a;https://paperswithcode…

CocosCreator3.8研究笔记(三)CocosCreator 项目结构说明及编辑器的简单使用

我们通过Dashboard 创建一个2d项目&#xff0c;来演示CocosCreator 的项目结构。 等待创建完成后&#xff0c;会得到以下项目工程&#xff1a; 一、assets文件夹 assets文件夹&#xff1a;为资源目录&#xff0c;用来存储所有的本地资源&#xff0c;如各种图片&#xff0c;脚本…

一文快速了解代理https和sock5协议的区别

一、什么是https协议 HTTPS 协议全称&#xff1a;HyperText Transfer Protocol Secure&#xff08;超文本传输安全协议&#xff09;&#xff0c;是一种通过计算机网络进行安全通信的传输协议。 作用于应用层&#xff08;application layer&#xff09;中。 HTTPS 是在HTTP 的…

[C++]学习中的一个问题

#include<iostream> #include<string> #include<cstring> using namespace std;int main(){char str[31];cout << "----" << sizeof(str) << endl;// 给了memset(str, 0, sizeof(str));for (size_t i 0; i < 31; i){cout &l…

打造高权重店铺的秘密,详解Shopee平台权重评估机制(测评补单)

很多虾皮卖家经常提到的"权重"是指商品或店铺在Shopee平台上的重要性程度。权重评估了商品或店铺是否符合用户需求&#xff0c;并且能否促进订单转化率&#xff0c;为平台带来收益。说白了权重就是给商品和店铺打分的机制&#xff0c;得分越高&#xff0c;权重越高&a…

C语言——函数的使用

无参无返回值 语法格式如下&#xff1a; // 函数定义 void 函数名() {函数体 }// 函数调用 函数名();函数名是标识符的一种&#xff0c;需要遵循规则函数只需要定义一次&#xff0c;反复调用只定义函数, 不调用函数, 函数永远不会被执行案例需求&#xff1a; 编写一个函数&am…

python爬虫-Selenium

一、Selenium简介 Selenium是一个用于Web应用程序测试的工具&#xff0c;Selenium 测试直接运行在浏览器中&#xff0c;就像真正的用户在操作一样。模拟浏览器功能&#xff0c;自动执行网页中的js代码&#xff0c;实现动态加载。 二、环境配置 1、查看本机电脑谷歌浏览器的版…

Idea安装免注册版ChatGPT

文章目录 一、前期准备二、开始使用 一、前期准备 1.准备Idea开发软件并打开&#xff08;VS Code同理&#xff09;! 2.【CtrlAltS】快捷键调出Settings窗口&#xff0c;如图 3.找到NexChatGPT 此插件不需要注册&#xff0c;可以直接使用&#xff08;高级一些的需要会员收费限…

数据库-DML

DML&#xff1a;用来对数据库中表的数据记录进行增、删、改等操作。 添加数据&#xff08;INSERT&#xff09; insert语法&#xff1a; 指定字段添加数据&#xff1a;insert into 表单&#xff08;字段名1&#xff0c;字段名2&#xff09;values&#xff08;值1&#xff0c;值…

QT文件对话框,将标签内容保存至指定文件

一、主要步骤 首先&#xff0c;通过getSaveFileName过去想要保存的文件路径及文件名&#xff0c;其次&#xff0c;通过QFile类实例化一个文件对象&#xff0c;再读取文本框中的内容&#xff0c;最后将读取到的内容写入到文件中&#xff0c;最后关闭文件。 1.txt即为完成上述操作…

学习JAVA打卡第四十九天

Random类 尽管可以使用math类调用static方法random&#xff08;&#xff09;返回一个0~1之间的随机数。&#xff08;包括0.0但不包括0.1&#xff09;&#xff0c;即随机数的取值范围是[0.0&#xff0c;1.0]的左闭右开区间。 例如&#xff0c;下列代码得到1&#xff5e;100之间…

【数据分享】2006-2021年我国城市级别的燃气相关指标(免费获取\20多项指标)

《中国城市建设统计年鉴》中细致地统计了我国城市市政公用设施建设与发展情况&#xff0c;在之前的文章中&#xff0c;我们分享过基于2006-2021年《中国城市建设统计年鉴》整理的2006—2021年我国城市级别的市政设施水平相关指标、2006-2021年我国城市级别的各类建设用地面积数…

如何查一个期刊是不是EI检索

目录 如何查一个期刊是不是EI检索 一、什么是EI&#xff1f; 二、EI检索方法&#xff1a; 三、EI检索视频&#xff1a;(点击放大播放) 四、EI检索图文版 常见问题 如何查一个期刊是不是EI检索 1. 访问EI Compendex官方网站&#xff1a;访问EI Compendex的官方网站…

用ChatGPT做一个Chrome扩展 | 京东云技术团队

用ChatGPT做了个Chrome Extension 最近科技圈儿最火的话题莫过于ChatGPT了。 最近又发布了GPT-4&#xff0c;发布会上的Demo着实吸睛。 笔记本上手画个网页原型&#xff0c;直接生成网页。网友直呼&#xff1a;前端失业了&#xff01; 但我觉着啊&#xff0c;真就外行看热闹…

go语言--锁

锁的基础&#xff0c;go的锁是构建在原子操作和信号锁之上的 原子锁 原子包实现协程的对同一个数据的操作&#xff0c;可以实现原子操作&#xff0c;只能用于简单变量的简单操作&#xff0c;可以把多个操作变成一个操作 sema锁 也叫信号量锁/信号锁 核心是一个uint32值&#…

DCMM数据能力成熟度评估模型--学习笔记(1)

DCMM数据能力成熟度评估模型--学习笔记 1、DCMM简介、结构组成和成熟度评估等级划分1.1 DCMM简介1.2 DCMM结构组成1.3 DCMM关键过程域1.3.1、数据战略&#xff08;指导方针&#xff09;1.3.2、数据治理 &#xff08;机制保障&#xff09;1.3.3、数据架构 (施工图纸)1.3.4、数据…