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操作不仅会将软件版本退回到升级前的版本,还会将用户数据退回到升级前的状态
  • 回滚步骤
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/25049.shtml

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

相关文章

. 在css中的应用

正好看到一个用 &. 的css语句,感觉不太明白就去查了一下,感觉C站上缺少相关内容,所以这里就来补上一篇 &. 实际上是一种sass语法,在 Sass 中 & 表示父选择器的引用,可以用于创建更具体的选择器&#xff0…

如何将 dubbo filter 拦截器原理运用到日志拦截器中?

业务背景 我们希望可以在使用日志拦截器时,定义属于自己的拦截器方法。 实现的方式有很多种,我们分别来看一下。 拓展阅读 java 注解结合 spring aop 实现自动输出日志 java 注解结合 spring aop 实现日志traceId唯一标识 java 注解结合 spring ao…

思科单臂路由、lacp链路聚合、NAT实验

实验拓扑图: 实验目的: 如图所示配置相应IP地址和VLAN,并通过在AR1上配置单臂路由,实现VLAN10和VLAN20的主机能够在VLAN间通信;在SW1和SW2的三条链路实施链路聚合,使用静态LACP模式,使一条链…

【Python文件新建、打开、读写、保存、查看信息操作】

【Python文件新建、打开、读写、保存、查看信息操作】 1 指定格式打开文件2 关闭文件3 使用with语句保证新建、打开后关闭文件,避免异常4 写入文件5 使用with语句保证打开后关闭文件,避免异常6 复制文件7 移动文件8 重名名9 判断文件或文件夹是否存在10 …

打开虚拟机进行ip addr无网络连接

打开虚拟机进行ip addr无网络连接 参考地址:https://www.cnblogs.com/Courage129/p/16796390.html 打开虚拟机进行ip addr无网络连接。 输入下面的命令, sudo dhclient ens33 会重新分配一个新的ip地址,但是此时的ip地址已经不是我原先在虚…

Visual Studio在Debug模式下,MFC工程中包含Eigen库时的定义冲突的问题

Visual Studio在Debug模式下,MFC工程中包含Eigen库时的定义冲突的问题 报错信息 Eigen\src\Core\PlainObjectBase.h(143,5): error C2061: 语法错误: 标识符“THIS_FILE” Eigen\src\Core\PlainObjectBase.h(143,1): error C2333: “Eigen::PlainObjectBase::opera…

LeetCode 热题 100 JavaScript--102. 二叉树的层序遍历

给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。 输入:root [3,9,20,null,null,15,7] 输出:[[3],[9,20],[15,7]] 示例 2: 输入:root [1…

Windows 主机的VMware 虚拟机访问 wsl-ubuntu 的 API 服务

Windows 主机的VMware 虚拟机访问 wsl-ubuntu 的 API 服务 0. 背景1. 设置2. 删除 0. 背景 需要从Windows 主机的VMware 虚拟机访问 wsl-ubuntu 的 API 服务。 1. 设置 Windows 主机的IP:192.168.31.20 wsl-ubuntu Ubuntu-22.04 的IP:172.29.211.52 &…

Linux软件实操

systemctl命令 Linux系统的很多内置或第三方的软件均支持使用systemctl命令控制软件(服务)的启动、停止、开机自启 systemctl start(启动) 或 stop(关闭) 或 status(查看状态) 或 enable(开启开机自启) disable(关闭开机自启) 服务名: 控制服务的状态 系统内置的服务: Netwo…

React 18 响应事件

参考文章 响应事件 使用 React 可以在 JSX 中添加 事件处理函数。其中事件处理函数为自定义函数,它将在响应交互(如点击、悬停、表单输入框获得焦点等)时触发。 添加事件处理函数 如需添加一个事件处理函数,需要先定义一个函数…

基于RASC的keil电子时钟制作(瑞萨RA)(10)----读取DHT11温湿度数据

基于RASC的keil电子时钟制作10_读取DHT11温湿度数据 概述硬件准备视频教程产品参数电路设置数据格式数据读取步骤GPIO设置读取温湿度数据dht11.cdht11.h主程序 概述 本篇介绍如何驱动DH11湿度传感器同时实现当前串口数据打印。 DHT11 数字温湿度传感器是一款含有已校准数字信号…

系列2-MYSQL通用调优策略

系列2-MYSQL通用调优策略-2 1、硬件层面 BIOS-CPU电源管理-Performance Per Watt Optimized(DAPC),发挥cpu的最大性能。关闭C-states和C1E,开启Turbo Boots可以将CPU保持运行全核睿频BIOS-Memory Frequency(内存频率)-选择Maxim…

RabbitMQ:概念和安装,简单模式,工作,发布确认,交换机,死信队列,延迟队列,发布确认高级,其它知识,集群

1. 消息队列 1.0 课程介绍 1.1.MQ 的相关概念 1.1.1.什么是MQ MQ(message queue:消息队列),从字面意思上看,本质是个队列,FIFO 先入先出,只不过队列中存放的内容是message 而已,还是一种跨进程的通信机制…

XML 学习笔记 7:XSD

本文章内容参考自: W3school XSD 教程 Extensible Markup Language (XML) 1.0 (Second Edition) XML Schema 2001 XML Schema Part 2: Datatypes Second Edition 文章目录 1、XSD 是什么2、XSD 内置数据类型 - built-in datatypes2.1、基本数据类型 19 种2.1.1、基本…

MySQL日期常见的函数

-- 获取当天日期 -- 2023-06-20 select curdate();-- 获取当天年月日时分秒 select now();-- 日期运算 -- 2024-06-20 17:04:17 select date_add(now(),interval 1 year);-- 日期比较 -- 0 select datediff(now(),now());-- 日期MySQL对于日期类型数据如何查询 -- 获取指定日期…

【SpringCloud 面试题整理-超级有用】

文章目录 1、什么是Spring Cloud?2、使用Spring Cloud有什么优势?3、服务注册和发现是什么意思?Spring Cloud如何实现?4、负载平衡的意义什么?5、什么是Hystrix?它如何实现容错?6、什么是Hystrix 断路器?…

Goland搭建远程Linux开发

Windows和Linux都需要先构建好go环境,启用ssh服务。 打开Windows上的Goland,建立项目。 点击添加配置,选择go构建 点击运行于,选择ssh 填上Linux机器的IP地址和用户名 输入密码 没有问题 为了不让每次运行程序和调试程序都生…

在汇编语言中调用C语言的函数

在汇编语言中调用C语言的函数,需要在汇编语言中IMPORT对应的C语言函数名,然后将C语言的代码放在一个独立的C语言文件中进行编译,剩下的工作由连接器来处理。 实例代码: ;the details of parameters transfer comes from ATPCS ;i…

华为OD机试真题【开心消消乐】

1、题目描述 【开心消消乐】 给定一个N行M列的二维矩阵,矩阵中每个位置的数字取值为0或1。矩阵示例如: 1100 0001 0011 1111 现需要将矩阵中所有的1进行反转为0,规则如下: 1) 当点击一个1时,该1便被反转为…

前端个人年度工作述职报告(二十篇)

前端个人年度工作述职报告篇1 尊敬的各位领导、各位同仁: 大家好!按照20__年度我公司就职人员工作评估的安排和要求,我认真剖析、总结了自己的工作情况,现将本人工作开展情况向各位领导、同仁做以汇报,有不妥之处,希…