阿里大数据云原生化实践,EMR Spark on ACK 产品介绍

简介: 欢迎钉钉扫描文章底部二维码进入 EMR钉钉交流群 直接和讲师讨论交流~点击该链接直接观看直播回放:https://developer.aliyun.com/live/246868

开源大数据社区 & 阿里云 EMR 系列直播 第六期


主题:EMR spark on ACK 产品演示及最佳实践


讲师:石磊,阿里云 EMR 团队技术专家


内容框架:

  • 云原生化挑战及阿里实践
  • Spark 容器化方案
  • 产品介绍和演示


直播回放:扫描文章底部二维码加入钉群观看回放,或进入链接https://developer.aliyun.com/live/246868




一、云原生化挑战及阿里实践

大数据技术发展趋势

image.png

云原生化面临挑战

计算与存储分离

如何构建以对象存储为底座的 HCFS 文件系统

  • 完全兼容现有的 HDFS
  • 性能对标 HDFS,成本降低


shuffle 存算分离

如何解决 ACK 混合异构机型

  • 异构机型没有本地盘
  • 社区 [Spark-25299] 讨论,支持 Spark 动态资源,成为业界共识


缓存方案

如何有效支持跨机房、跨专线混合云

  • 需要在容器内支持缓存系统


ACK 调度

如何解决调度性能瓶颈

  • 性能对标 Yarn
  • 多级队列管理


  • 错峰调度
  • Yarnon ACK 节点资源相互感知



阿里实践 - EMR on ACK

image.png


整体方案介绍

image.png

  • 通过数据开发集群/调度平台提交到不同的执行平台
  • 错峰调度,根据业务高峰低峰策略调整
  • 云原生数据湖架构,ACK 弹性扩缩容能力强
  • 通过专线,云上云下混合调度
  • ACK 管理异构机型集群,灵活性好



二、Spark 容器化方案

方案介绍

image.png

RSS Q&A

1、为什么需要 Remote Shuffle Service?

  • RSS 使得 Spark 作业不需要 Executor Pod 挂载云盘。挂载云盘非常不利于扩展性和大规模的生产实践。
  • 云盘的大小无法事前确定,大了浪费空间,小了 Shuffle 会失败。RSS 专门为存储计算分离场景设计。
  • Executor 将 shuffle 数据写入了 RSS 系统,RSS 系统来负责管理 shuffle 数据,Executor 空闲后即可以回收。[SPARK-25299]
  • 可以完美支持动态资源,避免数据倾斜的长尾任务拖住 Executor 资源不能释放。


2、RSS 性能如何,成本如何,扩展性如何?

  • RSS 对于 shuffle 有很深的优化,专门为存储与计算分离场景、K8s 弹性场景而设计。
  • 针对 Shufflefetch 阶段,可以将 reduce 阶段的随机读变为顺序读,大大提升了作业的稳定性和性能。
  • 可以直接利用原有 K8s 集群中的磁盘进行部署,不需要加多余的云盘来进行 shuffle。性价比非常高,部署方式灵活。


Spark Shuffle

image.png

  • 产生 numMapper * numReducer 个 block
  • 顺序写、随机读
  • 写时 Spill
  • 单副本,丢数据需 stage 重算


EMR Remote Shuffle Service

image.png

  • 追加写、顺序读
  • 无写时 Spill
  • 两副本;副本复制到内存后即完成
  • 副本之间通过内网备份,无需公网带宽


RSS TeraSort Benchmark

image.png

  • 备注说明:以10T Terasort 为例,shuffle 量压缩后大约 5.6T。可以看出该量级的作业在 RSS 场景下,由于 shuffle read 变为顺序读,性能会有大幅提升。



Spark on ECI 效果

image.png

Summary

image.png


对应产品介绍和演示,可以扫描文章底部钉钉群二维码,进群观看直播回放哦!

也可以点击以下链接直接观看回放:https://developer.aliyun.com/live/246868




后续我们会在钉钉群定期推送精彩案例,邀请更多技术大牛直播分享。欢迎有兴趣的同学扫下方二维码加入钉钉群进行交流和技术分享。关注公众号,锁定每周精彩分享内容!

image.png





相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
5天前
|
运维 Kubernetes 监控
Kubernetes 集群的持续性能优化实践
【4月更文挑战第26天】 在动态且不断增长的云计算环境中,维护高性能的 Kubernetes 集群是一个挑战。本文将探讨一系列实用的策略和工具,旨在帮助运维专家监控、分析和优化 Kubernetes 集群的性能。我们将讨论资源分配的最佳实践,包括 CPU 和内存管理,以及集群规模调整的策略。此外,文中还将介绍延迟和吞吐量的重要性,并提供日志和监控工具的使用技巧,以实现持续改进的目标。
|
5天前
|
消息中间件 运维 Kubernetes
构建高效自动化运维体系:Ansible与Kubernetes的融合实践
【5月更文挑战第9天】随着云计算和微服务架构的普及,自动化运维成为确保系统可靠性和效率的关键。本文将深入探讨如何通过Ansible和Kubernetes的集成,构建一个强大的自动化运维体系。我们将分析Ansible的配置管理功能以及Kubernetes容器编排的优势,并展示如何将二者结合,以实现持续部署、快速扩展和高效管理现代云原生应用。文章还将涵盖实际案例,帮助读者理解在真实环境下如何利用这些工具优化运维流程。
|
5天前
|
运维 Kubernetes Cloud Native
构建高效云原生运维体系:Kubernetes最佳实践
【5月更文挑战第9天】 在动态和快速演变的云计算环境中,高效的运维是确保应用稳定性与性能的关键。本文将深入探讨在Kubernetes环境下,如何通过一系列最佳实践来构建一个高效且响应灵敏的云原生运维体系。文章不仅涵盖了容器化技术的选择与优化、自动化部署、持续集成/持续交付(CI/CD)流程的整合,还讨论了监控、日志管理以及灾难恢复策略的重要性。这些实践旨在帮助运维团队有效应对微服务架构下的复杂性,确保系统可靠性及业务的连续性。
|
3天前
|
资源调度 Kubernetes 监控
Kubernetes 集群性能优化实践
【5月更文挑战第17天】在容器化和微服务架构日益普及的当下,Kubernetes 已成为众多企业的首选容器编排工具。然而,随着集群规模的增长和业务复杂度的提升,性能优化成为确保系统稳定性与高效运行的关键。本文将深入探讨 Kubernetes 集群性能优化的策略与实践,覆盖从节点资源配置到网络通信优化,再到高效的资源调度机制,旨在为运维人员提供系统的优化路径和具体的操作建议。
|
4天前
|
Java 数据库连接 Spring
K8S+Docker理论与实践深度集成java面试jvm原理
K8S+Docker理论与实践深度集成java面试jvm原理
|
4天前
|
存储 Kubernetes 监控
使用Kubernetes进行容器编排:技术详解与实践
【5月更文挑战第16天】Kubernetes,简称K8s,是开源容器编排系统,用于自动化部署、扩展和管理容器化应用。核心概念包括节点、Pod(最小部署单元)、服务、标签和副本集。其特点有高可用性、可扩展性、自动化和可移植性。实践使用涉及安装配置集群、编写YAML部署清单、应用部署、监控管理和扩展更新。Kubernetes帮助提升应用的可用性、可扩展性和可移植性。
|
5天前
|
分布式计算 Kubernetes 监控
容器服务Kubernetes版产品使用合集之怎么实现把 spark 跑在k8s
容器服务Kubernetes版,作为阿里云提供的核心服务之一,旨在帮助企业及开发者高效管理和运行Kubernetes集群,实现应用的容器化与微服务化。以下是关于使用这些服务的一些建议和合集,涵盖基本操作、最佳实践、以及一些高级功能的使用方法。
27 1
|
5天前
|
运维 Prometheus 监控
Kubernetes 集群监控与性能优化实践
【5月更文挑战第14天】 在微服务架构日益普及的当下,Kubernetes 已成为容器编排的事实标准。然而,随着集群规模的扩大和业务复杂度的增加,监控系统的性能及稳定性变得至关重要。本文将深入探讨 Kubernetes 集群监控的重要性,介绍常用监控工具,并分享一系列针对集群性能优化的实践策略,帮助运维工程师确保服务的高可用性和优越性能。
|
5天前
|
Kubernetes Cloud Native 持续交付
构建高效稳定的云原生应用:容器编排与微服务治理实践
【5月更文挑战第14天】 随着企业数字化转型的深入,云原生技术以其弹性、敏捷和可扩展的特性成为现代应用开发的首选模式。本文将探讨如何通过容器编排工具如Kubernetes以及微服务架构的有效治理,构建和维护高效且稳定的云原生应用。我们将分析容器化技术的优势,并结合案例讨论在多云环境下实现持续集成、持续部署(CI/CD)的最佳实践,同时解决微服务带来的分布式复杂性问题。通过本文的阐述,读者将获得一套提升系统可靠性和业务连续性的策略框架。
7 0
|
5天前
|
分布式计算 数据可视化 Hadoop
大数据实战——基于Hadoop的Mapreduce编程实践案例的设计与实现
大数据实战——基于Hadoop的Mapreduce编程实践案例的设计与实现
44 0