如何快速给Hadoop集群加上弹性

技术如何快速给Hadoop集群加上弹性本篇内容介绍了“如何快速给Hadoop集群加上弹性”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,

本文介绍了关于“如何快速为Hadoop集群增加灵活性”的知识。很多人在实际案例的操作中会遇到这样的困难。接下来,让边肖带领大家学习如何应对这些情况!希望大家认真阅读,学点东西!

1. 背景介绍

在大数据的早期时代,Apache Hadoop是构建具有海量存储能力的数据仓库的首选。许多企业用户在云上购买了ECS,并构建了Hadoop集群来存储和处理数据。Apache Spark作为内存中的计算框架,具有流处理、批处理、图计算、机器学习、SQL查询等多种能力。具有较高的社区活跃度,而Spark自然支持Hadoop数据源,可以完美融入Hadoop生态,提供高效的计算能力。Hadoop+Spark已经成为大数据领域的明星,广泛应用于线下大数据挖掘。

云上Hadoop集群通常由ECS加云盘(或本地盘)和一系列开源组件组成。随着业务的增长,对计算能力的需求不断增加,尤其是在业务高峰期,大量数据涌入。为了保证服务的稳定性和及时性,需要及时增加节点来满足业务需求。在业务高峰期,希望能及时回收冗余的计算资源,避免资源浪费。这就要求Hadoop集群要有一定的弹性能力,能够根据业务量及时扩展(收缩)相应的计算资源。云计算是弹性能力,的趋势,可以给用户带来更低成本的计算。然而,如何增加快捷稳定现有计算集群的灵活性是用户头疼的问题。

2. 传统弹性方案的问题

由于历史原因,很多用户的数据和业务都放在自建的Hadoop集群上。随着业务的发展或业务高峰的到来,对集群计算能力的需求增加。通常,用户会扩展Hadoop集群节点,以增加可用的计算资源池。虽然膨胀机能在一定程度上满足计算能力的需求,但它会遇到以下痛点.

扩容慢: 通常有一个相对较大的集群扩张。为避免对现有线上业务造成影响,需选择在业务低峰期扩容。在扩展时,由于需要在新节点中部署各种组件,很难应对业务变化,只需短短十分钟或长达数小时。

缩容难: ,因为业务高峰期只是一段时间,我们真正需要额外计算资源的时间也只是一段时间,或者说额外的业务并不是一直执行,而是以一定的时间间隔执行。如果不及时降低产能,会导致计算不饱和,浪费计算资源,增加企业成本。但是对于扩展后的节点,由于已经部署了很多组件,需要在降低容量之前提前退出这些组件,比较繁琐,容易出错。

弹不出: 用户在扩容时,根据ECS粒度购买一批ECS节点加入现有计算集群的资源池。购买的ECS规格通常很大。受云资源碎片化的影响,有时难以满足用户对一批大型ECS资源的需求,导致计算资源无法发挥出来,无法扩展集群。

3. DLA Spark快速弹性方案

DLA团队深度融合了无服务器、云原生和Spark技术的优势,提供了无服务器Spark产品,可以无缝连接用户的Hadoop集群,快速稳定地为传统Hadoop集群增加弹性计算能力。我们将介绍DLA无服务器Spark如何解决用户的上述痛点。

免运维的虚拟计算集群

如何快速给Hadoop集群加上弹性

上图是传统Hadoop集群中Spark和DLASpark的架构对比。图的左边部分显示了传统的Spark集群,它由几个ECS组成。集群内部有一套完整的Spark控件。计算过程和控制过程部署在每个ECS上,每个集群的计算资源池相对固定。如果需要更多的计算资源,就需要扩展更多的计算节点。如果需要减少容量,则需要关闭相应ECS上的服务

图的右边是DLA Spark.与传统集群模式相比,DLA Spark抽象出了虚拟集群.虚拟集群没有实际计算资源的概念,只是承载了一些供用户控制作业的配置,包括计算资源的配置和作业常用参数的配置。创建虚拟集群没有成本。用户只需选择虚拟集群内存和CPU的上限,即可快速创建虚拟集群,然后转到

虚拟集群提交作业。DLA Spark是多租户化的,每个用户可拥有多个自己的虚拟集群,无需用户进行运维

·       计算进程级别的弹性粒度

DLA Spark基于AliyunKubernetes云原生技术深度定制, 实现了计算进程级别的弹性粒度,可更高效地应对云资源碎片化问题。用户通过作业指定的资源规格弹性拉起计算进程,计算进程运行安全容器中。安全容器是基于阿里云的底座ECS&ACK&ECI,与阿里云IAAS资源大池打通,本Region跨可用区资源调度,保障计算资源的供给, 支持1分钟内弹300个安全容器。

·       快速扩缩容

由于DLASpark虚拟集群化的设计,计算进程在作业启动过程中动态拉起,用户可以很方便地对虚拟集群的规格进行扩缩容,只需要在控制台上进行资源配置即可。值得注意的是,虚拟集群中的计算进程使用完毕后就会自动释放,无需用户关心计算资源的生命周期。虚拟集群是按量付费,即只有作业真正的提交到虚拟集群运行之后,才开始按照资源使用时间计费,作业运行完毕即停止收费,不存在对计算资源的浪费。

·       无缝打通用户Hadoop集群

如何快速给Hadoop集群加上弹性

如上图所示,DLA Spark可以通过挂载用户VPC空间下的弹性网卡无缝对接用户自建Hadoop集群。DLA Spark的Driver和Executor运行在安全容器中,该容器实例动态挂载用户VPC空间下的虚拟网卡,来访问用户VPC下的服务(如 HBase,Hive,HDFS等)。挂载了弹性网卡的容器实例就如同运行在用户自建Hadoop集群中的ECS实例一样,网络带宽同样是VPC内网带宽。虚拟网卡的生命周期跟Spark进程的生命周期一致,作业结束后,所有网卡也会相应释放。

值得一提的是,弹性网卡,是一种免费的技术,用户使用弹性网卡访问Hadoop集群数据不需要花费额外的费用。打通用户Hadoop集群配置简单,用户运行作业时,如需为Serverless Spark计算进程挂载虚拟网卡,只需要在作业配置中配置上属于该VPC的安全组和虚拟交换机即可。更方便地,如果用户某个ECS本来就可以访问目标数据,那么让DLA Spark配置该ECS所在的安全组和虚拟交换机即可。

4. DLA Spark的性价比优势

·       性能相当,资源利用率高

如何快速给Hadoop集群加上弹性

如上图,我们通过运行典型的ETL场景,1TB数据TeraSort,来开箱测试社区版Spark和DLA Serverless Spark的性能,需要说明的是,本测试中DLA Serverless Spark通过弹性网卡直接读写用户Hadoop集群的数据,社区版Spark部署在与Hadoop集群相同的ECS上。从上图中可以看到,两者性能基本持平

由于DLASpark是按照计算进程拉起的,运行在安全容器中,用户只需要关心作业进程的规格和个数即可,拉起的资源全部用于DLA Spark的运行。而自建Hadoop集群由于是ECS级别的,需要预留一定资源用于运行NodeManager等组件,会存在一定的资源冗余。我们可以看到自建Hadoop集群要满足Driver 需要4核16G,20个2核8G的Executor的配置需要购买6台8核32G的ECS。因此相比之下DLA Spark的资源利用率更高。

·       快速弹性,节省用户成本

如何快速给Hadoop集群加上弹性

一般而言,用户的业务量是随着时间变化的,当自建Hadoop集群计算资源不足时,用户可以提交作业到虚拟集群中,快速拉起DLASpark进行计算,当业务低谷时,虚拟机群停止接收作业,不收取任何费用。我们还是以上述TeraSort为例,用户自建集群包月,DLA Spark按量付费的情况。DLA Saprk比起自建Hadoop集群,一天运行十次TeraSort时,成本可节约72%,一天运行三十次TeraSort时,成本可节约16%。用户可以将自建Hadoop集群与DLA Spark混合使用,在性能不降低的情况下做到对计算资源的快速弹性伸缩,降低用户计算成本

“如何快速给Hadoop集群加上弹性”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/139128.html

(0)

相关推荐

  • jackson 怎么创建json(jackson解析json)

    技术如何使用@JacksonInject与@JsonAlias注解如何使用@JacksonInject与@JsonAlias注解,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的

    攻略 2021年12月13日
  • Web/JS:使用innerHTML动态加入html导致按钮失效

    技术Web/JS:使用innerHTML动态加入html导致按钮失效 Web/JS:使用innerHTML动态加入html导致按钮失效前几天我在用innerHTML把html动态加入table的时候,发

    礼包 2021年12月1日
  • 怎样修改支付宝支付密码,淘宝支付宝怎么修改密码

    技术怎样修改支付宝支付密码,淘宝支付宝怎么修改密码方法/步骤首先怎样修改支付宝支付密码,大家还是要使用自己的淘宝账户登录支付宝,登录支付宝账户的时候可以使用绑定的手机号或者是邮箱帐号,然后大家可以看看下面的图片。淘宝支付

    生活 2021年10月29日
  • 树莓派+motion安装摄像头怎么实现远程监控

    技术树莓派+motion安装摄像头怎么实现远程监控这篇文章给大家介绍树莓派+motion安装摄像头怎么实现远程监控,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 下面我们介绍如何来给树莓派装个USB

    攻略 2021年11月19日
  • 分析Oracle表数据库高水位及shrink操作

    技术分析Oracle表数据库高水位及shrink操作这篇文章主要介绍“分析Oracle表数据库高水位及shrink操作”,在日常操作中,相信很多人在分析Oracle表数据库高水位及shrink操作问题上存在疑惑,小编查阅

    攻略 2021年11月5日
  • sqlite怎么使用子查询函数(sqlite select语句)

    技术SQLite中的SELECT子句如何使用通配符小编给大家分享一下SQLite中的SELECT子句如何使用通配符,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!SQLite中的SELECT子句使用通配符

    攻略 2021年12月18日