运维实战100:CDH5.16.2升级至CDH6.3.2

news2024/9/22 13:43:36

本期来分享一个cdh企业运维实战案例

背景

为适应公司业务发展需求,提高相关大数据组件版本,解决开发中的一些技术问题和代码优化,需要将现有集群CDH版本由5.x版本升级为6.3.x版本,也是为了适配如Flink、Doris等一些计算引擎。由于生产迁移风险巨大,我们现在测试集群进行验证。

迁移前的准备工作还是非常重要且细致的,要考虑到各个细节的部分的,大致流程一般如下:

1.Cloudera官网调研迁移可行性,包括操作系统,mysql,JDK版本等细节内容确认是否影响升级;
2.Cloudera官网已经给出非常详细的升级方案及回滚步骤,一定要多注意;
3.CM版本先升级,备份核心库表数据;
4.CDH版本再升级,备份各种组件核心库表如hive元数据库等。
5.做好升级失败回滚的方案。
# 官网:https://docs.cloudera.com/documentation/enterprise/upgrade/topics/ug_cm_upgrade_backup.html

1.Cloudera Manager升级

1.1 备份工作

1.1.1 备份Cloudera Manager Agent

# 查看CM库详细信息
cat /etc/cloudera-scm-server/db.properties

# 所有agent主机执行备份命令
export CM_BACKUP_DIR="`date +%F`-CM5.16"
echo $CM_BACKUP_DIR
mkdir -p $CM_BACKUP_DIR

# 开始打包cm-agent和yum源包
tar -cf $CM_BACKUP_DIR/cloudera-scm-agent.tar --exclude=*.sock /etc/cloudera-scm-agent /etc/default/cloudera-scm-agent /var/run/cloudera-scm-agent /var/lib/cloudera-scm-agent
tar -cf $CM_BACKUP_DIR/repository.tar /etc/yum.repos.d

#批量执行可以用ansible
ansible -i host cloudera_test -m shell -a "export CM_BACKUP_DIR="`date +%F`-CM5.16""

1.1.2 备份Cloudera Manager Service

# Service Monitor执行
cp -rp /var/lib/cloudera-service-monitor /var/lib/cloudera-service-monitor-`date +%F`-CM5.16

# Host Monitor 执行
cp -rp /var/lib/cloudera-host-monitor /var/lib/cloudera-host-monitor-`date +%F`-CM5.16

# Event Server 执行
cp -rp /var/lib/cloudera-scm-eventserver /var/lib/cloudera-scm-eventserver-`date +%F`-CM5.16

1.1.3 备份 Cloudera Manager Databases

# mysql机器上执行
mysqldump --databases database_name --host=database_hostname --port=database_port -u user_name -p > $HOME/database_name-backup-`date +%F`-CM5.16.sql

CM界面开始停止集群服务和Cloudera监控服务,服务器上批量停止

systemctl stop cloudera-scm-agent
systemctl stop cloudera-scm-server

2 升级Cloudera Server&&Cloudera Agent

2.1 升级Cloudera Server

#1. 修改yum源
# 注释掉旧的安装源换成新版本即可

#2. 刷新
yum clean all && yum makecache

#3. 升级安装
yum upgrade cloudera-manager-server cloudera-manager-daemons cloudera-manager-agent

#4. CM主机启动cloudera-scm-server && cloudera-scm-agent

Cloudera-scm-server重启部分日志如下:

2.2 升级Cloudera Agent

点击刷新后可以看到CM主节点已经得到升级,但是其余从节点未做修改,下一步我们开始批量升级Agent节点的版本,只需要修改对应yum源,执行更新命令&&启动即可

#1. 修改yum源
yum clean all && yum makecache

#2. 更新
yum upgrade cloudera-manager-daemons cloudera-manager-agent -y

#3. 启动agent
systemctl start cloudera-scm-agent

#4. 刷新cm界面后升级成功

开始启动服务 Cloudera Management Service

#这部分出问题可参考官网
https://docs.cloudera.com/documentation/enterprise/upgrade/topics/ug_cm_downgrade.html

3 升级CDH版本

CDH升级前看下升级后的CM界面,CDH依旧是5.16.2的。下面开始升级CDH版本

看了下来自官网的警告,瑟瑟发抖呀,升级之前还得对各种组件做好处理呀兄弟们!!!

下图中,官网告诉我们MR、Yarn等一些组件不需要单独处理,但是ZK,HDFS,Hbase都需要单独进行备份。

3.1 Zookeeper备份

#备份每台ZK服务
cp -rp /var/lib/zookeeper/ /var/lib/zookeeper-backup-`date +%F`CM6.3.1-CDH5.16

3.2 HDFS备份

#1.备份每台Journal服务,这里一定要是自己jn数据的目录哈
 cp -rp /hadoop1/dfs/jns /hadoop1/dfs/jn-CM6.3.1-CDH5.16

#2.备份每台namenode,也一定注意自己的安装路径
mkdir -p /etc/hadoop/conf.rollback.namenode
cd /var/run/cloudera-scm-agent/process/ && cd `ls -t1 | grep -e "-NAMENODE\$" | head -1`
cp -rp /etc/hadoop/conf.cloudera.hdfs/log4j.properties /etc/hadoop/conf.rollback.namenode/

#3.备份每台datanode运行目录
mkdir -p /etc/hadoop/conf.rollback.datanode/
cd /var/run/cloudera-scm-agent/process/ && cd `ls -t1 | grep -e "-DATANODE\$" | head -1`
rm -rf /etc/hadoop/conf.rollback.datanode/log4j.properties
cp -rp /etc/hadoop/conf.cloudera.hdfs/log4j.properties /etc/hadoop/conf.rollback.datanode/

3.3 Hue备份

#hue服务的主机上
mkdir -p /opt/cloudera/parcels_backup
 cp -rp /opt/cloudera/parcels/CDH/lib/hue/app.reg /opt/cloudera/parcels_backup/app.reg-CM6.3.1-CDH5.16

3.4 升级CDH版本

准备好hhtpd远程配置的CDH parcel安装包,CM界面点击主机中的parcel,配置新的parcel安装源,如下图:

配置完成后出现如上截图,我们开始下载 -> 分配 -> 解压 -> 激活,然后开始升级。

感觉还是很顺利的哈哈哈哈!!!

升级成功!不过有一说一,升级的情况还是比较适用于大数据组件不多且集群规模不大的情况,如果条件允许的话直接重建会更快一些!

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

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

相关文章

ArcGIS Pro从0到1入门实战教程 书籍淘宝线上销售,免费下载数据和视频

网址:https://m.tb.cn/h.USz9rbD?tkcu0Vd2cABAV 购书后五星好评,加下面微信,截图发给我们:送Python电子书,下面是我们的微信 关注翎树文化,获得更多好书信息 翎树文化 翎树文化致力于图书出版|科技文化|视…

leetcode:1203. 项目管理【双topo:组间topo + 组内topo】

目录题目截图题目分析ac code总结题目截图 题目分析 没有第一个条件,就是简单topo排序有了第一个条件,每个小组都需要完全隔开,因此不同小组间也需要一个topo排step1:对于group为-1的自成一组step2:建图,组…

什么是信息摘要?

信息摘要就是原数据通过某个算法生成的一个固定长度的单向Hash散列值(PS:常用来生成信息摘要的算法有MD5与SHA算法)。固定长度得意思就是不论原文内容多大,其生成的信息摘要都是固定长度的。单向的意思是过程不可逆,即只能通过原始数据生成Ha…

Mybatis用到的设计模式

虽然我们都知道有26个设计模式,但是大多停留在概念层面,真实开发中很少遇到,Mybatis源码中使用了大量的设计模式,阅读源码并观察设计模式在其中的应用,能够更深入的理解设计模式。 Mybatis至少遇到了以下的设计模式的…

提高组比赛分析(1)

停更n个月&#xff0c;我又来了&#xff01; 今天打了场模拟赛&#xff0c;差点就AK IOI了 废话不多说 正片开始 题目一&#xff1a;#1751. 第 T 个数 Description 给定一个 n(0<n≤10000) 个整数构成的序列&#xff0c;每个数 a[i] 都是小于 210^9 的非负整数 &#x…

[附源码]Python计算机毕业设计SSM家居购物系统(程序+LW)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

yalmip和cplex安装步骤(Matlab)

&#x1f4cb;&#x1f4cb;&#x1f4cb;本文目录如下&#xff1a;⛳️⛳️⛳️ ​ 目录 1 yalmip和cplex的安装 1.1 yalmip安装 1.2 cplex安装过程 1 yalmip和cplex的安装 链接&#xff1a;https://pan.baidu.com/s/13One78qt1uSz92zNC6Xvlg 提取码&#xff1a;bicr --来…

websocket实践与浅入浅出

websocket实践与浅入浅出websocket与http的区别&#xff1f;websocket的应用场景&#xff1f;websocket通信方式websocket协议结构分布式下IM多端同步的实现方案TIP1. 心跳2. 多端同步3. wss4. otherwebsocket与http的区别&#xff1f; Http&#xff1a;请求与响应的模式&…

2023最新SSM计算机毕业设计选题大全(附源码+LW)之java校园招聘信息管理系统64f99

这个选题的话其实有很多的&#xff0c;就看你自己能接受怎么样的&#xff0c;比如可以做网站类、系统类、小程序类、安卓app、大数据类等等&#xff0c;这个也要看你个人能力和技术问题&#xff0c;如果技术小白或者有一点点基础的话建议选择网站类和系统类的&#xff0c;如果有…

关于NDK

libc_shared.so 在目前ndk的最新版本25.1.8937393中有4个libc_shared.so&#xff0c;用Everything搜索结果如下&#xff1a; 可以看到&#xff0c;大小最小的有4M多。 对于libc库&#xff0c;官方介绍在此&#xff0c;摘取一些片段如下&#xff1a; LLVM 的 libc 是 C 标准库…

[附源码]Python计算机毕业设计Django养生药膳推荐系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

Java学习多态之向下转型

目录 语法 注意事项 一、 二、 三、 举例说明 注意事项第二条的解释 总结 向下转型&#xff1a;解决向上转型中不能调用子类特有成员的问题 语法 子类类型 引用名 &#xff08;子类类型&#xff09;父类引用&#xff1b; 注意事项 一、 只能强转父类的引用&#x…

Windows子系统WSL2 (ubuntu安装 docker、nvidia-docker)

文章目录一、准备二、安装WSL2三、安装docker nvidia-docker附录&#xff1a;WSL与linux路径映射一、准备 第一步&#xff1a;【win R】输入winver 检查你的 Windows 版本&#xff0c;验证内部版本是否低于19041, 升级系统选择Dev 渠道 第二步&#xff1a;【控制面板】>…

基于RRT算法的最优动力学路径规划(Matlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f468;‍&#x1f4bb;4 Matlab代码 &#x1f4a5;1 概述 RRT是Steven M. LaValle和James J. Kuffner Jr.提出的一种通过随机构建Space Filling Tree实现对非凸高维空间快速搜索的算法。…

这款台灯,不仅能护眼,还能点读和互动

疫情反复&#xff0c;孩子不能正常返校 天天在家上网课、写作业 长时间用眼引发视疲劳 用眼健康需要格外关注 想要改善孩子的用眼环境 CTWing物联网市场推荐使用 好记星智能学习台灯 国AA级护眼标准&#xff0c;能点读&#xff0c;会说话 这款智能学习台灯好在哪里&…

旅游网站毕业设计,旅游网站网页设计设计源码,旅游网站设计毕业论文

项目背景和意义 目的&#xff1a;本课题主要目标是设计并能够实现一个基于web网页的景区景点购票系统&#xff0c;整个网站项目使用了B/S架构&#xff0c;基于python的Django框架下开发&#xff1b;管理员通过后台录入信息、管理信息&#xff0c;设置网站信息&#xff0c;管理会…

186页13万字智慧能源大数据分析平台建设方案

目录 智慧能源大数据分析平台及能源集团数字化平台建设方案 目录 一、相关项目背景 二、需求理解 2.1 需求理解 三、方案设计 3.1 整体方案设计 3.3.1 整体架构 3.3.2 解决方案说明 3.3.3 需求应答 3.2 数据仓库 3.2.1 数据仓库架构 3.2.2 数据仓库产品说明 3.2.3…

高通平台开发系列讲解(AI篇)SNPE工作流程介绍

文章目录 一、转换网络模型二、量化2.1、选择量化或非量化模型2.2、使用离线TensorFlow或Caffe模型2.3、使用非量化DLC初始化SNPE2.4、使用量化DLC初始化SNPE三、准备输入数据四、运行加载网络沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇章主要介绍SNPE模型工作…

十万部冷知识:为什么会有点球大战?

在上一部的“冷知识”当中&#xff0c;我们跟大家提到了在小组赛中决定排名的方法&#xff0c;比到最后哪哪都平的情况下&#xff0c;甚至都会以抽签的方式决定。 但是到了淘汰赛里&#xff0c;往往就不会这么儿戏了。双方在常规时间和加时赛都打平的情况下&#xff0c;会直接进…

《自己动手写CPU》学习记录(1)——第1章

引言 此专栏的文章记录自己学习《自己动手写CPU》的过程。算是一个学习笔记&#xff0c;里面也会夹杂个人的思考以及代码编写。希望自己可以像作者一样&#xff0c;坚持到最后。加油~~ 本篇学习MIPS32处理器的基本架构。 致谢 感谢书籍《自己动手写CPU》及其作者雷思磊。一…