基于 Kubernetes 的企业级大数据平台,EMR on ACK 技术初探
作者:容器服务团队
云上大数据的 Kubernetes 技术路线
当前,大数据与机器学习领域颇为关注存储与计算分离架构,逐渐向云原生演进。以 Spark 为例,云下或自有服务器可以选择 Hadoop 调度支持 Spark,云上的 Spark 则会考虑如何充分享有公共云的弹性资源、运维管控和存储服务等,并且业界也涌现了不少 Spark on Kubernetes 的优秀实践。
大数据云原生化面临的挑战
存储和计算分离的架构,同时又带来挑战,例如:怎样构建以阿里云对象存储 OSS 为底座的 HDFS 文件系统?需要完全兼容现有的 HDFS,还要实现在性能对标 HDFS 的同时降低成本;计算引擎 shuffle 数据存算分离,又要考虑如何解决 ACK 混合异构机型的支持问题,以及业界非常关注如何支持 Spark 动态资源。
引入 Kubernetes 之后, 如何调度优化性能瓶颈?性能对标 Yarn、实现多级队列管理。还有,如何借助 K8s,编排组织各种业务的波峰波谷,实现错峰调度?等等。
通过阿里云容器服务 ACK 运行开源大数据任务,将以集群为中心的视角切换成以作业为中心视角,还可以实现在线业务、AI、大数据统一接入 ACK 集群,错峰调度,离线在线混部,提升机器利用率。并且,实现了运维入口、运维工具链、监控体系的三重统一。此外,还支持多版本,如同时运行 Spark2.x 和 Spark 3.x 任务。
EMR on ACK 的架构与优势
12 月,阿里云 EMR 2.0 正式发布,从平台体验、数据开发、资源形态、分析场景等方面实现全面创新。其中在资源形态侧,EMR 可以部署在阿里云容器服务 ACK 平台, 减少对底层集群资源的运维投入,以便于用户更加专注大数据任务本身。
EMR on ACK 为用户提供了全新的构建大数据平台的方式,用户可以将开源大数据服务部署在阿里云容器服务(ACK)上。利用 ACK 在服务部署和对高性能可伸缩的容器应用管理的能力优势,用户只需要专注在大数据作业本身。用户可以便捷地将 Spark、Presto、Flink 作业执行在 ACK 集群上,100%兼容开源,性能优于开源。
EMR on ACK 架构如下
轻量化管控,对接已有数据平台
通过数据开发集群/调度平台提交到不同的执行平台
错峰调度,根据业务高峰低峰策略调整
云原生数据湖架构,ACK 弹性扩缩容能力强
ACK 管理异构机型集群,灵活性好
EMR on ACK 具备以下优势
Remote Shuffle Service 提供中间 shuffle 数据的存储计算分离方案
可以使计算节点无需本地盘和云盘
支持打开 Spark 动态资源功能,Spark-25299
终极方案
JindoFS 针对 OSS 存储提供湖加速解决方案
Block 模式 1TB TPCDS 场景下有 15%以上的性能提升
调度层面支持 Scheduler Framework V2
调度性能比社区提升 3x 以上
提供多级队列管理
引擎能力增强
10TB TPCDS Benchmark 场景下,EMR Spark
比社区有 3x 性能提升
Hudi、DeltaLake 比社区功能性能增强
完整的错峰调度方案
国内知名广告营销服务商汇量科技已使用 EMR 产品 4 年。在业务快速增长的大好形势下,汇量科技面临越来越多的困扰:如数据来源复杂、数据量大、数据维度多、实时运营业务秒级数据新鲜度需求等业务需求;本次升级后,汇量科技在素材平台、热力引擎等业务的大数据平台搭建上,数据同步和及查询效率有数倍提升,系统稳定性显著提升,未再出现之前 cpu、mem、io 负载高等情况。
EMR on ACK:
点击此处移步阿里云 EMR 2.0 发布会,了解更多
版权声明: 本文为 InfoQ 作者【阿里巴巴云原生】的原创文章。
原文链接:【http://xie.infoq.cn/article/465f9427dfa2850464774fa0e】。文章转载请联系作者。
评论