优化数据处理效率,解读 EasyMR 大数据组件升级
EasyMR 作为袋鼠云基于云原生技术和 Hadoop、Hive、Spark、Flink、Hbase、Presto 等开源大数据组件构建的弹性计算引擎。此前,我们已就其展开了多方位、多角度的详尽介绍。而此次,我们成功接入了大数据组件的升级和回滚功能,能够借助 EasyMR 来掌控大数据组件的升级与回滚流程。
在本文中,我们就将为大家详细介绍在 EasyMR 中如何接管大数据组件的升级和回滚流程。
传统大数据组件升级
大数据技术当下是全球各行业的核心技术之一,其核心要义在于把数据拆解为更小的数据块,然后在分布式的环境中加以处理。Hadoop 和 Spark 作为当前最流行的大数据处理框架,它们通过不同的方法来实现这一目标。
而在传统的大数据组件升级流程中,通常会遵循以下几个步骤:
● 环境准备
· 确保当前环境满足新版本 Spark 和 Hive 的依赖要求
· 备份当前的配置文件和重要数据
● 下载软件
· 从官方网站下载新版本的 Spark 和 Hive 安装包
● 停止服务
· 在升级前,停止所有正在运行的 Hadoop、Hive 和 Spark 服务
● 替换安装包
· 将下载的新版本 Spark 和 Hive 安装包替换旧版本的安装包
● 配置 Hive
· 解压 Hive 安装包并重命名目录
· 修改 hive-site.xml 配置文件,将旧版本的配置文件复制到新版本中,并根据新版本的要求进行必要的修改和更新
· 将 MySQL 的 JDBC 驱动放到 Hive 的 lib 目录下
● 配置 Spark
· 解压 Spark 安装包
· 配置 spark-env.sh 和 spark-defaults.conf 文件,将旧版本的配置文件复制到新版本中,并根据新版本的要求进行必要的修改和更新
· 将 Spark 的 jar 包上传到 HDFS 的特定目录下
● Hive 元数据升级
· 如果 Hive 版本有变更,可能需要使用 schematool 工具来升级 Hive 的元数据存储
● 启动服务
· 启动 Hadoop 集群和 MySQL 服务
· 启动 Hive 服务,包括 Metastore 和 HiveServer2
● 重新配置集成
· 根据新版本的要求重新配置 Spark 与 Hive 的集成,包括更新 hive-site.xml 和 spark-defaults.conf 文件
● 测试验证
· 启动 Hadoop、Hive 和 Spark 服务,执行测试查询以验证升级是否成功
在上述流程中,我们能够明显看出升级流程的繁琐。同时,大数据组件部署之间存在一定差异,例如:hbase 与其他组件不同,需要备份 zookeeper。这意味着在部署时,我们首先要将各个组件间升级的差异点和升级方案进行总结。
鉴于 Hadoop 本身的复杂性,运维人员在进行升级操作时,需要确认升级方案有无遗漏之处,一旦出现步骤遗漏,便会致使升级失败,严重情况下还可能造成数据丢失。
EasyMR 接管大数据组件升级
考虑到上述传统 Hadoop 升级所产生的复杂状况,我们决定把这种复杂性交由平台来处理,由平台接管升级过程中不同组件的差异性操作以及配置文件备份等相关操作,将简单的操作逻辑呈现给用户。
接下来,我们将从 Hive、HBase 和 Spark 组件的升级方面,来介绍 EasyMR 是如何接管大数据组件的升级流程的。
Hadoop 部署
在主机模式下部署 Hadoop 时,我们需要下载 Hadoop 的安装包,并依照步骤逐步进行操作。然而,在 EasyMR 上,我们仅需按照打包文档把打包好的产品包上传至 EasyMR 平台,即可实现一键部署。

选择需要部署的 Hadoop 服务。

先分配服务需要部署的节点,随后执行部署,等待一段时间,若没有问题,便完成了 Hadoop 组件的部署工作。
Hadoop 的升级也仅需按照上述流程操作即可,EasyMR 会首先自动停止并卸载旧服务,并且备份旧的配置文件。在上述流程顺利通过后,再进行新版本的部署。

Hive 升级
上面我们已回顾了 Hadoop 组件的部署方式,接下来正式介绍 Hive 组件从 3.1.2 版本升级到 3.2.2 版本的具体步骤。

在 Hive 的升级过程中,需要先利用 mysqldump 工具对 MySQL 数据库进行备份,只有当备份成功后,方可进行后续的升级操作。

升级流程将按照 Hadoop 升级逻辑分配服务节点进行部署。

HBase 升级
HBase 升级和 Hive 升级存在差异。Hive 升级首先得备份数据库,HBase 却不用,只需操作人员在部署时确认 HBase 的兼容性问题就行。

后续同样按照升级流程,勾选产品包部署服务,分配服务部署节点即可。
Spark 升级
Spark 升级时需要留意的是,有无正在运行的任务。在 Spark 升级前,会获取 yarn_resourcemanager 上运行中的任务状态,若存在,会给出提示。然后由操作人员依据当前状况决定是否强制升级。

平台管控备份流程
上面介绍了用户层面能感知到的不同服务升级的差异,下面来讲一讲在程序后台我们开展的那些操作。
· 每次升级回滚,后台会自动将 conf 配置文件备份,防止配置丢失

· 在 HBase 升级流程中,会先备份 zookeeper 的服务数据

· 然后通过 grpc 服务调用 hbase_bak 备份脚本,对 Hadoop 的服务数据进行备份

经过上述操作,我们可以很轻松地在 EasyMR 上完成大数据组件的升级和回滚操作,其余服务也能通过类似步骤操作完成。
总结
在 AI 蓬勃发展的时代,数据已然成为 AI 应用中至关重要的一个环节。EasyMR 作为国产的大数据引擎,将会在大数据领域展开更为深入的探索,致力于简化大数据工具的操作难度,提高运维人员的工作效率。
《行业指标体系白皮书》下载地址:https://www.dtstack.com/resources/1057?src=szsm
《数栈产品白皮书》下载地址:https://www.dtstack.com/resources/1004?src=szsm
《数据治理行业实践白皮书》下载地址:https://www.dtstack.com/resources/1001?src=szsm
想了解或咨询更多有关大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:https://www.dtstack.com/?src=szbky
优化数据处理效率,解读 EasyMR 大数据组件升级的更多相关文章
- 民生银行十五年的数据体系建设,深入解读阿拉丁大数据生态圈、人人BI 是如何养成的?【转】
早在今年的上半年我应邀参加了由 Smartbi 主办的一个小型数据分析交流活动,在活动现场第一次了解到了民生银行的阿拉丁项目.由于时间关系,嘉宾现场分享的内容非常有限.凭着多年对行业研究和对解决方案的 ...
- 大数据组件原理总结-Hadoop、Hbase、Kafka、Zookeeper、Spark
Hadoop原理 分为HDFS与Yarn两个部分.HDFS有Namenode和Datanode两个部分.每个节点占用一个电脑.Datanode定时向Namenode发送心跳包,心跳包中包含Datano ...
- 基于ambari搭建hadoop生态圈大数据组件
Ambari介绍1Apache Ambari是一种基于Web的工具,支持Apache Hadoop集群的供应.管理和监控.Ambari已支持大多数Hadoop组件,包括HDFS.MapReduce.H ...
- docker容器与大数据组件的冲突点
1.容器里面安装spark,外面的程序(安装spark主机的容器)会连接不上集群.理由:这个组件用的akka,连接上集群,会提示: akka.ErrorMonitor: dropping messag ...
- 工具篇-大数据组件的一些快捷Shell操作
一.Hbase 1. HBase shell窗口进入 执行hbase shell 2. HBase表的创建 # 语法:create <table>, {NAME => <fam ...
- hadoop大数据组件启动
1.1.启动集群 sbin/start-dfs.sh注:这个启动脚本是通过ssh对多个节点的namenode.datanode.journalnode以及zkfc进程进行批量启动的. 1.2.启动Na ...
- 大数据组件对应Ranger插件的选择
在都是开源组件的前提下,一般需要我们多关注到组件和插件的版本和类型选择. 参考 https://zhuanlan.zhihu.com/p/370263573 https://www.bookstack ...
- 小记---------CDH版大数据组件--clouderManager UI界面
启动 /opt/cm-5.14.0/etc/init.d/clouder-scm-server start /opt/cm-5.14.0/etc/init.d/clouder-scm-agent st ...
- 大数据组件Kerberos安全访问关键代码
版本信息 <version.hbase>2.1.0-cdh6.2.1</version.hbase> <version.hadoop>3.0.0-cdh6.2.1& ...
- tomcat优化---大数据量提交tomcat时,tomcat无法接收导致页面无反应
关于tomcat的一个优化问题: 有时候保存大数据量的数据时.tomcat不优化的话,页面会没反应.tomcat后台并不报错,仅仅是提示以下内容: 警告: More than the maximum ...
随机推荐
- ELF-Virus简易病毒程序分析
系统功能概述 ELF-Virus实现了一个简单的病毒程序,能够感染当前目录下的ELF格式的可执行文件.病毒程序通过将自身代码附加到目标文件中,并在文件末尾添加一个特定的签名来标记文件已被感染.感染后的 ...
- 康谋分享 | 仿真驱动、数据自造:Anyverse巧用合成数据重构智能座舱
随着汽车向智能化.场景化加速演进,智能座舱已成为人车交互的核心承载.从驾驶员注意力监测到儿童遗留检测,从乘员识别到安全带状态判断,座舱内的每一次行为都蕴含着巨大的安全与体验价值. 然而,这些感知系统要 ...
- Electron35-DeepSeek桌面端AI系统|vue3.5+electron+arco客户端ai模板
2025跨平台ai实战electron35+vite6+arco仿DeepSeek/豆包ai流式打字聊天助手. electron-deepseek-chat:实战ai大模型对话,基于vue3.5+el ...
- kettle安装文件下载(含多版本)
kettle是一款基于java开发的洗数工具,可以通过图像化的操作界面,拖拉拽的操作方式,实现数据导入导出清洗等功能,还支持编写脚本进行数据处理,功能十分强大. 本文主要记录一下kettle各版本下载 ...
- 关于:js使用$.parseJSON字符串转json对象报错Uncaught SyntaxError- Unexpected token o in JSON at position 1
今天使用js使用$.parseJSON字符串转json对象报错Uncaught SyntaxError- Unexpected token o in JSON at position 1,一直找不到原 ...
- PHP实现文件上传下载实例详细讲解
一.上传原理与配置 1.1 原理 将客户端文件上传到服务器端,再将服务器端的文件(临时文件)移动到指定目录即可. 1.2 客户端配置 所需:表单页面(选择上传文件): 具体而言:发送方式为POST,添 ...
- Asp.net core 少走弯路系列教程(四)JavaScript 学习
前言 新人学习成本很高,网络上太多的名词和框架,全部学习会浪费大量的时间和精力. 新手缺乏学习内容的辨别能力,本系列文章为新手过滤掉不适合的学习内容(比如多线程等等),让新手少走弯路直通罗马. 作者认 ...
- GPUStack v0.5:模型Catalog、图生图功能上线,多维优化全面提升产品能力与使用体验
GPUStack 是一个专为运行 AI 模型设计的开源 GPU 集群管理器,致力于支持基于任何品牌的异构 GPU 构建统一管理的算力集群.无论这些 GPU 运行在 Apple Mac.Windows ...
- SpringBoot路径匹配
Spring5.3 之后加入了更多的请求路径匹配的实现策略: 以前只支持 AntPathMatcher 策略, 现在提供了 PathPatternParser 策略.并且可以让我们指定到底使用那种策略 ...
- SpringBoot项目创建的三种方式
目录 1 通过官网创建 2 通过IDEA脚手架创建 2.1 IDEA新建项目 2.2 起Group名字,选择Java版本,点击Next 2.3 选择Web依赖,选择Spring Web,确认Sprin ...