HDFS集群滚动升级以及回滚相关
HDFS集群滚动升级以及回滚相关
- 介绍
- 不停机滚动升级
- 非联邦HA集群
- 联邦HA集群
- 停机升级--非HA集群
- HDFS集群降级和回滚
- 异同点
- 共同点
- 不同点
- HA集群降级(downgrade)
- 注意事项
- 集群回滚操作
介绍
- 在hadoop v2中,HDFS支持namenode高可用(HA),使得不停机升级HDFS变的可行。注:从hadoop2.4.0开始才支持滚动升级
- 因此为了在不停机的情况下升级hdfs集群,必须使用HA设置集群
- 在HA集群中,有两个或多个namenode,许多DataNode,一下journalnode和一下zookeepernode
- JN相对稳定,在大多数情况下,升级HDFS时不需要升级
- 滚动升级过程中,仅针对NNS和DNS,JNS和ZKNS都没有,升级JN和ZKN可能会导致集群停机
不停机滚动升级
非联邦HA集群
假设有两个名称结点NN1和NN2,其中NN1和NN2分别处于active和standby状态




联邦HA集群
- 联邦集群是拥有多namespace的集群。每个namespace对应一对主备namenode节点
- 上述这套集群就是速成的联邦+HA集群
- 联邦集群的升级过程与非联邦集群的升级过程比较相似,没有什么本质不同,知识需要为不同的namespace多重复执行几遍升级操作而已


停机升级–非HA集群
- 在升级的过程中,势必会存在服务短暂停止的时间,因为namenode需要重启,而这段时间并没有备用节点可选
- 整体过程同非联邦HA模式的4个步骤类似。不过步骤2的过程要修改

HDFS集群降级和回滚
异同点
共同点
- 都会将版本退回到升级前的版本
- 在升级的funalize动作执行之后,将不允许再执行降级和回滚
不同点
- 降级能支持rolling的方式,可以滚动降级,而回滚需要停止服务一段时间
- 降级过程只会将软件版本还原成升级前的,会保留用户现有的数据状态
- 而回滚则会将用户数据还原成升级前的状态模式,现有的数据状态不保存
- 升级慎重,降级、回滚更要慎重
生产环境中,集群升级之前必须进行调研,评估升级后的版本跟现有业务的兼容性
在测试环境下完整模拟升级流程,并且针对升级前集群状态进行备份,避免以外发生导致集群中断
不要奢求升级失败时,通过回滚、降级等操作挽救集群
HA集群降级(downgrade)



注意事项
- 降级与升级在HA模式有一个共同点
在操作namenode时,都是standby节点开始操作,等standby节点升/降结束,做一次切换,使另一个节点得以进行升/降操作,在全程中,始终保持一个active节点对外提供服务 - 降级过程namenode与DataNode的操作和在升级时操作完全相反
新版本一般在协议,api只兼容老版本的,如果先降级NN,那么则会造成DN是新本,NN是旧版
新版DN中的许多协议将会在旧版NN中可能不在兼容
所以这里必须要先降级DN,然后再把服务端NN进行降级 - 联邦集群和非HA集群的降级操作与升级操作想对应,进行相应操作命令替换即可
集群回滚操作
- 回滚注意事项
- rollback不支持滚动操作的方式,在操作期间,他需要集群对外停止服务
- rollback操作不仅会将软件版本退回到升级前的版本,还会将用户数据退回到升级前的状态
- 回滚步骤

相关文章:
HDFS集群滚动升级以及回滚相关
HDFS集群滚动升级以及回滚相关 介绍不停机滚动升级非联邦HA集群联邦HA集群 停机升级--非HA集群HDFS集群降级和回滚异同点共同点不同点 HA集群降级(downgrade)注意事项 集群回滚操作 介绍 在hadoop v2中,HDFS支持namenode高可用(H…...
【LeetCode】094. 分割回文串II
文章目录 1. 解题思路1.1 创建dp表1.2 状态转移方程1.3 提前求出所有子串是否是回文串 2. 整体代码 1. 解题思路 1.1 创建dp表 这道题我们使用动态规划的方法来解,首先创建一个大小为字符串长度的dp表。dp[i] 表示 s[0, i] 的字符串最小划分多少次可以全划分为回文…...
CBCGPRibbon 添加背景图片
resource.h中声明资源的ID:ID_RIBBON_BACKIMAGE rc文件中添加png图片路径: ID_RIBBON_BACKIMAGE PNG DISCARDABLE "res\\bkribbon.png" 代码中添加下测: //添加背景图片 m_wndRibbonBar.SetBackgroundImage(ID_RIB…...
无涯教程-Perl - last 语句函数
当在循环内遇到 last 语句时,循环立即终止,程序控制在循环后的下一条语句处恢复。您可以为LABEL提供最后一个语句,其中LABEL是循环的标签。 last 语句可以在嵌套循环内使用,如果未指定LABEL,则该语句将适用于最近的循环…...
网络安全 Day13-Linux三剑客awk知识
Linux三剑客awk知识 1. awk 介绍2. awk 语法3. 练习 1. awk 介绍 awk 是一门语言, 也是一个命令,Linux 有三剑客命令: grep/sed/awk三剑客的特长 grep 过滤内容sed 取行awk 取列 2. awk 语法 取列 取第一列文件($1): awk {print $1} 文件指定分隔符为文件: awk -F "指…...
java讲解Spring Boot配置文件级别 相互覆盖关系 解决一方不愿意给数据库密码 一方不愿意给源码时 数据库配置问题
前面 我们讲过Spring Boot 修改临时变量的方式 但另一个场景 就是 我们 在本地开发环境 用的是一个配置 但如果项目经理上线 他想改这些配置 怎么弄呢 特别是数据库之类的配置 很多线上是不太一样的 那么 我们先看一个比较基本的方法 在配置文件的同目录下创建一个目录 叫 con…...
点击表格行高亮
css中三元表达式 :class"[activeIndex index ? color : , item]"点击行高亮 <div click"actvied(index)" :class"[activeIndex index ? color : , item]"v-for"(item, index) in tableData" :key"index">{{ item…...
基于粒子群优化算法的配电网光伏储能双层优化配置模型[IEEE33节点](选址定容)(Matlab代码实现)
目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码、数据、讲解 💥1 概述 由于能源的日益匮乏,电力需求的不断增长等,配电网中分布式能源渗透率不断提高,且逐渐向主动配电网方…...
零代码爬虫平台SpiderFlow的安装
什么是 Spider Flow ? Spider Flow 是一个高度灵活可配置的爬虫平台,用户无需编写代码,以流程图的方式,即可实现爬虫。该工具支持多数据源、自动保存至数据库、任务监控、抓取 JS 动态渲染页面、插件扩展(OCR 识别、邮…...
Java 与其他编程语言:比较分析
Java 擅长可移植性和可靠性,Python 擅长通用性和简单性,JavaScript 擅长 Web 开发,C 擅长性能,Go 擅长效率。 在广阔的软件开发世界中,选择正确的编程语言对于任何项目的成功都至关重要。Java 是一种以其多功能性和可移…...
Linux性能分析工具介绍(二)--内存、进程、磁盘、IO分析
目录 一、引言 二、Linux性能分析工具介绍 ------>2.1、进程 ------>2.2、内存 ------>2.3、磁盘 ------>2.4、IO 一、引言 本章从内存、IO、进程的角度,分析linux系统的性能 二、Linux性能分析工具介绍 2.1、进程 2.1.1、top top命令可以动态查看进程…...
海外热门地区/国家常见主体证件示例
海外热门地区/国家常见主体证件示例(本页面内容较多,你可以通过CtrlF搜索) Overseas Popular Areas / Countries Examples of Common certificates (This page has more content, you can search by CtrlF) 中国香港…...
【阵列信号处理】空间匹配滤波器、锥形/非锥形最佳波束成形器、样本矩阵反演 (SMI) 研究(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
使用MPU6050计算方向盘角度
我给你们作了榜样、叫你们照着我向你们所作的去作。 ——【约翰福音13:15】 1.前言 前段时间接到一个项目需求:使用现有的陀螺仪MPU6050实现计算当前车辆的方向盘角度。 2.需求分析 MPU6050可获取三轴角速度和三轴加速度,并通过算法可以获得横滚角、…...
区块链实验室(13) - 在PBFT中节点的度与其流量的特征
前面若干实验说明了PBFT的耗时、流量与度的特征,见 区块链实验室(10) - 实例说明PBFT的共识过程, 区块链实验室(11) - PBFT耗时与流量特征, 区块链实验室(12) - 网络拓扑对PBFT共识流量的影响 同样的实验方案,在100个节点构成的无标度网络中完成100次交…...
C++——文件操作
一、文本文件 C中输入输出是通过流对象进行操作,对于文件来说写文件就是将内容从程序输出到文件,需要用到写文件流ofstream;而读文件就是将内容从文件输入到程序,需要用到读文件流ifstream;这两个文件流类都包含在头文…...
channel通道笔记
channel通道笔记 介绍 语法 1.一般使用make创建channel(常用) c : make(chan datatype),datatype是数据类型 2.直接显示声明,创建的值为空,一般没有太大意义 var c chan datatype 三种定义写法: 既可以收数据又可以发数据:chan datatype只可以收数据:chan <- datatype只可…...
无涯教程-Lua - 面向对象
面向对象编程(OOP)是现代编程时代中使用最广泛的编程技术之一。 OOP的特征 类(Class) - 类是用于创建对象的可扩展模板。 对象(Objects) - 它是类的实例,并为其分配了单独的内存空间。 继承(Inheritance) - 这是一个概…...
Java中的IOUtils是什么?
Java中的IOUtils是一个工具类,用于简化文件和流的操作。它提供了一些常用的方法,如复制文件、读取文件、写入文件等。 下面是一个简单的示例,演示如何使用IOUtils来复制文件: import org.apache.commons.io.FileUtils; import j…...
电源板(220V转3.3V)调试问题总
目录 现象: 问题可能的影响: 排查过程: 1.测试EC3,C2都在6V左右, 2.怀疑变压器的问题。 2.怀疑原边反馈控制芯片的问题。 3.怀疑后级电路的问题。 现象: 电源板输出3.28V输出正常。 但是测试前级电压…...
Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...
Day131 | 灵神 | 回溯算法 | 子集型 子集
Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...
全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
linux 错误码总结
1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...
第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...
Mac下Android Studio扫描根目录卡死问题记录
环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列,以便知晓哪些列包含有价值的数据,…...
