基于 Kubernetes 的企业级大数据平台,EMR on ACK 技术初探时间:2023-02-09 12:13:44*作者:容器服务团队* ## 云上大数据的 Kubernetes 技术路线 当前,大数据与机器学习领域颇为关注存储与计算分离架构,逐渐向云原生演进。以Spark 为例,云下或自有服务器可以选择 Hadoop 调度支持 Spark,云上的 Spark 则会考虑如何充分享有公共云的弹性资源、运维管控和存储服务等,并且业界也涌现了不少 Spark on Kubernetes 的优秀实践。 ![1.png](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/7ad758b0ba71435e89b0a3138a157cca~tplv-k3u1fbpfcp-zoom-1.image "1.png") ## 大数据云原生化面临的挑战 存储和计算分离的架构,同时又带来挑战,例如:怎样构建以阿里云对象存储 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 架构如下 ![2.png](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/eaaa32b73d2d4f9db533adc2d501edf6~tplv-k3u1fbpfcp-zoom-1.image "2.png") - 轻量化管控,对接已有数据平台 - 通过数据开发集群/调度平台提交到不同的执行平台 - 错峰调度,根据业务高峰低峰策略调整 - 云原生数据湖架构,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: > > 点击[此处](https://developer.aliyun.com/topic/emr2?spm=5176.21211227.J_5253785160.2.1351123cPOjoCs)移步阿里云 EMR 2.0 发布会,了解更多