2021-07-30

Spark on Amazon EKS如何实践?EnginePlus@亚马逊云科技中国峰会干货来了

EnginePlus来到亚马逊云科技中国峰会,为你解读Spark on Amazon EKS业务实践

Avatar
Mobvista

近日,亚马逊云科技中国峰会在上海召开。亚马逊云科技的众多技术合作伙伴受邀出席峰会,围绕“构建新格局,重塑云时代”的主题,进行了系列主题演讲和产品展示,分享云计算领域的先进技术经验与企业成功实践。

Mobvista 汇量科技资深架构师、EnginePlus 产品负责人陈绪也来到现场,与嘉宾们分享了在 Amazon Elastic Kubernetes Service (Amazon EKS) 上部署Spark 的干货经验,并以Mobvista汇量科技自身为例,介绍了 Spark on Amazon EKS 的业务实践成果。

 

Spark on EKS: 业务增长带来挑战

 

Spark 作为广泛应用的大数据处理框架,提供了丰富的 Data Frame 接口以及 SQL 查询的功能,同时也可以通过 PySpark 对接深度学习框架。汇量科技使用的Spark 集群承担了大规模 ETL、数据处理分析、Ad-hoc 查询,以及算法模型训练的重要任务,现在离线计算集群有上万 CPU 核心,每日处理 PB 级的数据。

陈绪介绍道,其团队最初采用 HDP,在 EC2 上搭建了弹性的 Hadoop 服务,但随着业务规模的发展,更多的挑战开始显现:

一方面,团队希望各业务线之间可实现资源隔离,同时具备高效的弹性能力,以保障业务产出时效性;

另一方面,系统遇到大规模的临时查询作业时,查询数据量可达数十TB,这给集群的弹性伸缩带来了很大压力。

对此,陈绪表示:“弹性伸缩的效率影响着作业执行时间和总体成本。因此,我们通过调研,开始尝试通过容器化的架构来解决上述问题。”

 

汇量科技业务实践成果:EnginePlus

 

陈绪表示:“我们选择了 Amazon EKS 来搭建容器化 Spark 计算平台,将不同的组件划分到若干不同的 Node Group,包括 Spark Driver、Spark Executor,以及 Zeppelin、Jupyter 的 Notebook,从而为不同类型的节点组配置不同的资源类型,并分别实现弹性伸缩,获得更好的性价比。”

提到EC2 机型选择时,陈绪表示,由于对于大规模 shuffle 的作业,磁盘的 IOPS 和读写吞吐要求都很高,因此在大规模ETL集群中,团队会优先选择M5d、C5d、R5d等带有本地 nvme 磁盘的机型。

在陈绪团队的生产集群上,IOPS 可达到万级别,读写吞吐可以达到GB级别,使用本地nvme磁盘机型,可以很好地解决磁盘性能瓶颈问题。

此外,陈绪还从资源管理、作业状态和日志、版本和部分 bug 修复等角度进一步探讨了 Spark on Amazon EKS 的业务实践,并为来宾们介绍了一系列技术实践的成果——汇量科技自研的一站式云原生大数据和人工智能平台 EnginePlus

EnginePlus 将数据湖、计算分析、人工智能集成在统一平台上,提供面向多种业务场景的实时数据湖框架 StarLake、机器学习框架 MindAlpha 等自研开源工具,并能够与 Spark 计算框架深度集成,其适用场景包括互联网金融、出海电商、移动广告等。

在亚马逊 S3 存储和 Amazon EKS 之上,EnginePlus 部署了 StarLake 数据湖框架和 Spark 云原生计算框架,从而形成了湖仓一体的统一计算引擎。

在天级大作业的迁移中,与 Yarn 相比,在 Amazon EKS 上部署 Spark 后,作业耗时大幅缩短。同时 EnginePlus 也针对容器化环境做了很多 bug 修复和易用性提升的开发工作,帮助用户更好更方便地在云上使用 EnginePlus。

 

 

目前,EnginePlus已经上线亚马逊云科技Marketplace,助力全球企业实现新一代数据智能开发,解放业务生产力。EnginePlus 将与亚马逊云科技携手并进,以其云原生、一站式数据智能的服务,赋能更多用户。

Share