当前位置: 首页 > news >正文

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代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f308;4 Matlab代码、数据、讲解 &#x1f4a5;1 概述 由于能源的日益匮乏&#xff0c;电力需求的不断增长等&#xff0c;配电网中分布式能源渗透率不断提高&#xff0c;且逐渐向主动配电网方…...

零代码爬虫平台SpiderFlow的安装

什么是 Spider Flow &#xff1f; Spider Flow 是一个高度灵活可配置的爬虫平台&#xff0c;用户无需编写代码&#xff0c;以流程图的方式&#xff0c;即可实现爬虫。该工具支持多数据源、自动保存至数据库、任务监控、抓取 JS 动态渲染页面、插件扩展&#xff08;OCR 识别、邮…...

Java 与其他编程语言:比较分析

Java 擅长可移植性和可靠性&#xff0c;Python 擅长通用性和简单性&#xff0c;JavaScript 擅长 Web 开发&#xff0c;C 擅长性能&#xff0c;Go 擅长效率。 在广阔的软件开发世界中&#xff0c;选择正确的编程语言对于任何项目的成功都至关重要。Java 是一种以其多功能性和可移…...

Linux性能分析工具介绍(二)--内存、进程、磁盘、IO分析

目录 一、引言 二、Linux性能分析工具介绍 ------>2.1、进程 ------>2.2、内存 ------>2.3、磁盘 ------>2.4、IO 一、引言 本章从内存、IO、进程的角度,分析linux系统的性能 二、Linux性能分析工具介绍 2.1、进程 2.1.1、top top命令可以动态查看进程…...

海外热门地区/国家常见主体证件示例

海外热门地区/国家常见主体证件示例&#xff08;本页面内容较多&#xff0c;你可以通过CtrlF搜索&#xff09; Overseas Popular Areas / Countries Examples of Common certificates &#xff08;This page has more content, you can search by CtrlF&#xff09; 中国香港…...

【阵列信号处理】空间匹配滤波器、锥形/非锥形最佳波束成形器、样本矩阵反演 (SMI) 研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

使用MPU6050计算方向盘角度

我给你们作了榜样、叫你们照着我向你们所作的去作。 ——【约翰福音13:15】 1.前言 前段时间接到一个项目需求&#xff1a;使用现有的陀螺仪MPU6050实现计算当前车辆的方向盘角度。 2.需求分析 MPU6050可获取三轴角速度和三轴加速度&#xff0c;并通过算法可以获得横滚角、…...

区块链实验室(13) - 在PBFT中节点的度与其流量的特征

前面若干实验说明了PBFT的耗时、流量与度的特征&#xff0c;见 区块链实验室(10) - 实例说明PBFT的共识过程, 区块链实验室(11) - PBFT耗时与流量特征, 区块链实验室(12) - 网络拓扑对PBFT共识流量的影响 同样的实验方案&#xff0c;在100个节点构成的无标度网络中完成100次交…...

C++——文件操作

一、文本文件 C中输入输出是通过流对象进行操作&#xff0c;对于文件来说写文件就是将内容从程序输出到文件&#xff0c;需要用到写文件流ofstream&#xff1b;而读文件就是将内容从文件输入到程序&#xff0c;需要用到读文件流ifstream&#xff1b;这两个文件流类都包含在头文…...

channel通道笔记

channel通道笔记 介绍 语法 1.一般使用make创建channel(常用) c : make(chan datatype),datatype是数据类型 2.直接显示声明,创建的值为空,一般没有太大意义 var c chan datatype 三种定义写法: 既可以收数据又可以发数据:chan datatype只可以收数据:chan <- datatype只可…...

无涯教程-Lua - 面向对象

面向对象编程(OOP)是现代编程时代中使用最广泛的编程技术之一。 OOP的特征 类(Class) - 类是用于创建对象的可扩展模板。 对象(Objects) - 它是类的实例&#xff0c;并为其分配了单独的内存空间。 继承(Inheritance) - 这是一个概…...

Java中的IOUtils是什么?

Java中的IOUtils是一个工具类&#xff0c;用于简化文件和流的操作。它提供了一些常用的方法&#xff0c;如复制文件、读取文件、写入文件等。 下面是一个简单的示例&#xff0c;演示如何使用IOUtils来复制文件&#xff1a; import org.apache.commons.io.FileUtils; import j…...

电源板(220V转3.3V)调试问题总

目录 现象&#xff1a; 问题可能的影响&#xff1a; 排查过程&#xff1a; 1.测试EC3&#xff0c;C2都在6V左右&#xff0c; 2.怀疑变压器的问题。 2.怀疑原边反馈控制芯片的问题。 3.怀疑后级电路的问题。 现象&#xff1a; 电源板输出3.28V输出正常。 但是测试前级电压…...

从“黑盒”到“白盒”:深入理解PHP伪协议php://input的底层机制与安全开发启示

从“黑盒”到“白盒”&#xff1a;深入理解PHP伪协议php://input的底层机制与安全开发启示 在Web安全领域&#xff0c;文件包含漏洞一直是攻击者青睐的攻击向量。而PHP伪协议php://input的巧妙利用&#xff0c;往往能让看似无害的文件包含操作演变为致命的远程代码执行漏洞。本…...

光纤干涉条纹投射导向的动态三维形貌测量技术【附程序】

✨ 长期致力于条纹投射轮廓术、光纤干涉条纹投射、正弦相位调制、任意步距相移相位解调、系统标定研究工作&#xff0c;擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流&#xff0c;点击《获取方式》 &#xff08;1&#xff09;基于…...

Agent 与 Chat 的区别及常见工具详解

1. 引言 在人工智能和大语言模型&#xff08;LLM&#xff09;快速发展的今天&#xff0c;我们经常听到“Chat”&#xff08;聊天机器人&#xff09;和“Agent”&#xff08;智能体&#xff09;这两个概念。虽然它们都基于大模型与用户进行交互&#xff0c;但在设计理念、能力边…...

定向井轨迹控制关键技术:200℃高温定向传感器的随钻测量应用指南

一、引言 定向井钻井技术是现代油气资源开发的核心支撑技术之一&#xff0c;通过精确控制井眼轨迹&#xff0c;可以实现从地表向地下油气藏的精准穿藏&#xff0c;最大化油气产量和采收率。200℃定向传感器作为随钻测量系统的核心感知器件&#xff0c;在深井、超深井以及复杂结…...

避坑指南:UE5 GAS技能系统中,角色转向功能的两种实现方案与接口设计思考

UE5 GAS技能系统中角色转向功能的架构设计与实战优化 在动作角色扮演游戏开发中&#xff0c;技能释放时的角色朝向处理往往成为影响战斗体验的关键细节。当火球需要精准飞向目标、剑刃应当准确劈砍敌人时&#xff0c;角色朝向的瞬间调整不仅关乎视觉表现&#xff0c;更直接影响…...

从串行通信到SerDes:深入聊聊CDR电路的那些‘辅助’设计(频率捕获篇)

从串行通信到SerDes&#xff1a;深入解析CDR电路中的频率捕获设计 在高速串行通信系统中&#xff0c;时钟和数据恢复(CDR)电路扮演着至关重要的角色。当数据速率突破10Gbps甚至更高时&#xff0c;传统的锁相环(PLL)设计面临着前所未有的挑战——如何在随机数据流中快速准确地锁…...

边缘机器学习实战:模型量化、剪枝与TensorRT部署全解析

1. 项目概述&#xff1a;当机器学习遇见边缘“边缘计算”和“机器学习”这两个词&#xff0c;这几年在技术圈里都快被说烂了。但当你真正把一个训练好的模型&#xff0c;塞进一个算力有限、功耗敏感、网络时有时无的边缘设备里&#xff0c;让它去实时处理摄像头画面、分析传感器…...

告别Rufus!在Ubuntu 22.04上用Ventoy打造你的万能Windows安装盘(附PE系统集成)

在Ubuntu 22.04上使用Ventoy打造全能Windows安装与维护工具盘 作为一名长期以Linux为主力系统的开发者&#xff0c;难免会遇到需要为朋友或备用机安装Windows的场景。传统方案往往要求我们临时切换到Windows环境使用Rufus等工具&#xff0c;既低效又违背Linux用户的习惯。本文将…...

TI毫米波雷达实战:从mmWave Studio配置到3D-FFT点云生成的保姆级教程

TI毫米波雷达实战&#xff1a;从硬件连接到3D-FFT点云生成的完整指南 毫米波雷达技术正在工业检测、自动驾驶和智能家居领域掀起革命。作为TI毫米波雷达开发的核心工具链&#xff0c;mmWave Studio与DCA1000的组合为工程师提供了从信号采集到高级处理的完整解决方案。本文将带您…...

Node.js框架深度解析:从Express到Nest.js,如何选择最适合你的Web开发框架?

1. 项目概述&#xff1a;为什么Node.js框架值得你花时间研究&#xff1f;如果你是一名Web开发者&#xff0c;或者正在向这个方向转型&#xff0c;那么“Node.js框架”这个词组对你来说一定不陌生。但面对市面上林林总总的框架&#xff0c;从Express、Koa到Nest.js、Fastify&…...