首页 > 其他分享 >优化数据处理效率,解读 EasyMR 大数据组件升级

优化数据处理效率,解读 EasyMR 大数据组件升级

时间:2024-07-31 11:30:22浏览次数:17  
标签:EasyMR Hadoop Hive 升级 数据处理 组件 Spark

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 平台,即可实现一键部署。

file

选择需要部署的 Hadoop 服务。

file

先分配服务需要部署的节点,随后执行部署,等待一段时间,若没有问题,便完成了 Hadoop 组件的部署工作。

Hadoop 的升级也仅需按照上述流程操作即可,EasyMR 会首先自动停止并卸载旧服务,并且备份旧的配置文件。在上述流程顺利通过后,再进行新版本的部署。

file

Hive 升级

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

file

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

file

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

file

HBase 升级

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

file

后续同样按照升级流程,勾选产品包部署服务,分配服务部署节点即可。

Spark 升级

Spark 升级时需要留意的是,有无正在运行的任务。在 Spark 升级前,会获取 yarn_resourcemanager 上运行中的任务状态,若存在,会给出提示。然后由操作人员依据当前状况决定是否强制升级。

file

平台管控备份流程

上面介绍了用户层面能感知到的不同服务升级的差异,下面来讲一讲在程序后台我们开展的那些操作。

· 每次升级回滚,后台会自动将 conf 配置文件备份,防止配置丢失

file

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

file

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

file

经过上述操作,我们可以很轻松地在 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,Hadoop,Hive,升级,数据处理,组件,Spark
From: https://www.cnblogs.com/DTinsight/p/18334245

相关文章

  • 封装Vue 的 SVG 组件
    svg静态资源在assets下新建一个svg文件夹,用于存放svg图片svgIcon组件在components下新建一个文件夹,包含两个文件index.ts和SvgIcon.vuevue.config.jsmain.ts需要引入组件svgIcon使用**.vue<svg-icon iconClass="invite" className="iconicon-invite" /> *......
  • 认识netty的基本组件
    JavaNIOVSNetty有了JavaNIO,而且Netty也是基于JavaNIO实现,那么为什么不能直接用JavaNIO来实现网络通信模块呢? 接下来我就给大家解释一下原因。如果我们用JavaNIO来开发网络通信组件,势必会直接面对很多网络通信的问题。比如,网络连接异常如何处理、网络的闪断怎么......
  • Prometheus-alertmanager组件使用
    警报管理Alertmanager工作过程​Alertmanager处理从客户端(通常是Prometheus服务器或其它工具的警报)发来的警报,然后Alertmanager对警报进行去重、分组,然后路由到不同的接收器,如电子邮件、短信或SaaS服务(PagerDuty等)。还可以使用Alertmanager管理维护警报。先在Prometheu......
  • 前端Vue组件化实践:打造灵活可维护的地址管理组件
    随着前端技术的不断演进,复杂度和开发难度也随之上升。传统的一体化开发模式使得每次小小的修改或功能增加都可能牵一发而动全身,严重影响了开发效率和维护成本。组件化开发作为一种解决方案,通过模块化、独立化的开发方式,实现了单独开发、单独维护,并允许组件间的自由组合,从而极大......
  • 前端Vue组件化开发:仿京东淘宝的加入购物车与立即购买弹框组件
    随着前端技术的飞速发展,组件化开发已经成为前端工程化不可或缺的一部分。它不仅能够降低代码的耦合度,提高开发效率,还能够极大地简化后期的维护和扩展工作。在复杂的业务场景下,组件化开发更是成为前端工程师的必备技能。本文将介绍一个基于Vue的前端组件——仿京东淘宝的加入购......
  • 界面组件DevExtreme v24.2将发布一系列新组件、支持.NET 9
    DevExtreme拥有高性能的HTML5/JavaScript小部件集合,使您可以利用现代Web开发堆栈(包括React,Angular,ASP.NETCore,jQuery,Knockout等)构建交互式的Web应用程序。从Angular和Reac,到ASP.NETCore或Vue,DevExtreme包含全面的高性能和响应式UI小部件集合,可在传统Web和下一代移动应用程序中......
  • 安卓下拉刷新SmartRefreshLayout组件的使用
    在此本人使用的是来源于gitee仓库上的组件SmartRefreshLayout:下拉刷新、上拉加载、RefreshLayout、OverScroll,Android智能下拉刷新框架,支持越界回弹,具有极强的扩展性,集成了几十种炫酷的Header和Footer。上面有各种样式可以选择,大家可以去gitee上自行搜索拉取仓库使用此组件......
  • DRAM组件级故障预测模型,如何提升系统可靠性?-2
    一、DRAM原理与可靠性在深入探讨DRAM系统的可靠性问题前,我们需要明确几个基本概念。首先,故障指的是可能导致系统错误的物理缺陷,而错误则是系统实际状态与期望状态之间的差异。故障可分为暂时性故障和永久性故障:前者由外部因素如高能粒子撞击引发,后者则由持续存在的物理缺陷造......
  • 前端Vue组件化实践:打造自定义等宽tabs标签组件
    在前端开发的世界里,随着业务复杂度的提升和需求的多样化,传统的整体式开发方式已经难以满足快速迭代和高效维护的需求。组件化开发作为一种重要的解决方案,正逐渐受到广大开发者的青睐。本文将结合Vue框架,探讨如何通过组件化开发实现一个自定义等宽标签栏,并分享其在实际业务场景......
  • vue3中使用keepAlive缓存路由组件不生效的问题解决
    在Vue3中使用keep-alive缓存路由组件时,可能会遇到一些问题导致缓存不生效。以下是一些常见的问题及其解决方案:keep-alive写法错误:在Vue3中,使用keep-alive需要将router-view包裹在keep-alive中,并通过插槽传递组件。例如:<template><router-viewv-slot="{Co......