阿里云 E-MapReduce 全面开启 Serverless 时代

news2024/11/15 12:03:15

作者:李钰 - 阿里云资深技术专家、EMR 负责人

EMR 2.0 平台

阿里云正式发布云原生开源大数据平台EMR 2.0已历经一年时间,如今EMR 2.0全新平台在生产上已经全面落地,资源占比超过60%。EMR 2.0平台之所以在生产上这么快落地,源于其体验全面提升,更重要的一点是为客户实现了全面降本增效。

EMR 2.0 平台实现降本增效主要源于四个核心能力

极致弹性

EMR 2.0平台提供极致弹性的能力,主要表现在两个方面。第一是支持抢占式实例,客户可以指定使用抢占式实例的优先级,单节点组最多选择10种不同规格,成本优化策略支持自动选取低价实例规格出价,当抢占式实例不足的时候,会给客户补充按量付费的实例,兼顾成本和业务效果。第二就是极速响应能力,单节点组内和多节点组间均支持并行扩容,支持缩容期间并行扩容,支持突发业务变化;并且在响应能力上也有大幅提升,扩容速度不随着节点的增加而增加,100 节点扩容时间小于2分钟 ,弹性指标检测周期低于30秒,能够更好地响应负载变化;而且单次扩容规模能够达到1000个节点。

在这里插入图片描述

智能诊断

EMR 2.0平台具备智能诊断能力,通过EMR Doctor的集群日报和实时检测功能,可以实现避免资源浪费、风险提前预警和实时分析建议的核心效果:通过健康检查服务的集群日报功能查看集群是否存在资源浪费;通过任务评分倒排 Top N,找到资源浪费最多的作业进行优化;通过持续优化,最大化利用资源,避免浪费。

在这里插入图片描述

新硬件支持

EMR 2.0平台全面支持倚天 ECS 实例,相较X86实例成本降低20%以上。另外在软件层面、计算引擎层面,针对ARM的指令集也做了一系列优化,性能更高,CPU 占用率更低,在典型TPC-DS大数据 Benchmark 下能够进一步将性能提升1/4,意味着使用EMR2.0新平台加上倚天实例构建大数据集群,可以实现40%成本下降。

在这里插入图片描述

资源配比优化

EMR 2.0平台提供资源配比优化能力。虽然大数据负载具备动态性,但是在一定时间内也具备一定的周期性。EMR 2.0平台提供HBO能力,基于历史用量分析用量高峰低谷,推荐更低成本的预付费(包年包月固定资源)和后付费(按量弹性资源)配比。固定和弹性资源用量和账单可视化,历史用量曲线跟踪,更直观地度量资源配比调整前后成本绩效。

在这里插入图片描述

基于以上四个方面的优化,使用EMR 2.0平台的客户在生产上确确实实地实现了降本增效。EMR 团队也开始进一步思考以ECS集群方式构建大数据的解决方案是否存在难以解决的问题。

EMR 集群形态难以解决的问题?

有物理机运维经验的同学应该知道,当CPU和内存的使用率都超过70%时,整个集群的负载水位就很高了。所以在生产当中如果资源的综合使用率能够达到70%,就可以认为整个集群的资源使用率是比较高的。如果以70%的资源使用率为标准评判集群的资源是否利用得比较充分,则会观察到一个现象。10%的线上集群资源使用较为充分,有90%的集群资源利用率不到70%。另外观察到超过 3 成集群资源综合使用率不足 50%,而且没有明显的资源峰谷,只是日常综合的使用率。另外考虑到业务负载动态变化,以及集群形态对资源规划者能力要求极高,如果想在资源利用率上更进一步,全面 Serverless 化势在必行。基于以上背景,近一年阿里云EMR团队在Serverless化产品上取得了较大进展。

在这里插入图片描述

EMR Serverless 化产品

在这里插入图片描述

(阿里云EMR数据湖仓架构)

EMR Serverless Notebook

上图是阿里云EMR数据湖仓架构。首先看一下数据开发层,数据开发层分为开发和调度两方面。在数据开发方面EMR推出了Serverless Notebook,是一款即开即用免运维的产品,提供完善的用户权限和企业级的安全能力。用户可以开发SQL、Python等非常通用的Notebook作业。另外EMR Serverless Notebook 几乎全面兼容了HUE的能力,历史存量业务可以无缝迁移,还支持无缝对接各种形态的EMR集群。目前还在测试中,感兴趣的用户可以到EMR官网申请试用。

在这里插入图片描述

EMR Serverless Workflow

在数据工作流调度方面,EMR推出了Serverless Workflow。这款产品也是即开即用免运维的全托管产品,完全兼容Apache DolphinScheduler,也提供用户权限和企业级的安全能力。另外还可以随着调度负载的增加和减少提供弹性伸缩的能力,可以无缝对接各种形态的EMR集群,支持包括Spark、Flink在内的各种大数据作业开发,感兴趣的用户可以在EMR工作台直接开通测试。

在这里插入图片描述

接下来看一下计算层,我们通常将大数据的计算分为三类,批处理、流处理和Olap交互式分析。流处理主流产品是Flink,阿里云对应推出了实时计算Flink版产品。EMR则在批处理和Olap两个方向分别推出了对应的产品。

EMR Serverless Spark

  • 一站式数据开发平台

EMR Serverless Spark 提供了一站式数据开发平台,在这个一站式数据开发平台上面,用户可以便捷地开发SQL作业,也可以很方便地进行试运行和调试,调试完成后支持一键上线及发布,同时还提供内置工作流编排能力,用户可以基于已经开发好的SQL作业来编排工作流,并且在工作流上做定时调度,当工作流编排调度好了之后还提供工作流和任务两个维度且比较完善的监控和运维能力。用户可以在工作流维度上看到工作流每次运行的状态,例如运行到哪个节点失败,点击失败的节点可以看到失败的原因。此外还支持智能诊断,比如Spark作业有数据倾斜或者某个并发数据GC的问题,智能诊断能力可以帮助用户更快地解决问题。

在这里插入图片描述

  • 企业级 Native 引擎

除了一站式数据开发平台,EMR Serverless Spark 在内核上也做了优化。首先是企业级Native引擎优化,基于Native算子及SIMDJson优化的向量化执行引擎;支持高性能列式的Shuffle,可以将Shuffle的数据量最多减少40%;面向不同指令集做的指令集粒度优化,包括zstd等比较先进的压缩、解压缩算法的优化;最后还提供原生的C++接口来对接湖格式、OSS—HDFS存储,从而提供端到端完整的高性能。下图左侧是EMR Native Engine 和 Apache Spark3.3在TPC-DS 10TB这个benchmark上的对比,可以看到企业级Native引擎可以达到开源引擎3倍以上的性能。

在这里插入图片描述

  • 企业级 RSS 支持

EMR Serverless Spark 提供企业级 RSS 支持。众所周知,批处理云原生和Serverless化需要将本地的状态和存储依赖去掉,就要把ESS转换成使用Remote shuffle service。EMR Serverless Spark 提供的企业级 RSS 支持是基于Apache Celeborn 的,也是阿里云EMR团队捐赠给 Apache 孵化器的一款 RSS 软件,目前在整个生态上面有非常多国内外公司在使用,包括国外的 Linkedin、Shopee,国内的网易、哔哩哔哩。EMR Serverless Spark 在完全兼容Celeborn的基础上,还提供了企业级多租户能力,支持企业级的安全隔离。另外依托于阿里内部的生产实践,在大规模、高性能和全面功能性上都做了完整的提升。下图左侧就是Remote Shulffe Service相比于ESS的性能对比情况,可以看到有非常明显的提升。

在这里插入图片描述

  • 按量付费&极致弹性

此外,EMR Serverless Spark 支持按量付费和极致弹性。全新的按量计费方式,打破了传统的按规格计费方式,根据计算资源和存储空间的实际使用量计费,计算资源以CU为单位,1个CU性能等于 1 Core CPU 4 GB Mem。在同样规则的情况下,Serverless 可以更好地响应负载变化,成本节省高达50%!

在这里插入图片描述

EMR Serverlesss StarRocks

EMR Serverlesss StarRocks 已经正式商业化,除了有一站式应用的开发平台之外,还能够全面覆盖数据湖分析的各种场景,另外还具备企业级内核能力和云原生能力。

在这里插入图片描述

  • 企业级 StarRoks Manager 管控

EMR Serverless StarRocks 提供企业级 StarRocks manager 管控,不仅支持实例级别管理和监控,还可以做一站式SQL开发查询,支持慢 SQL Profile 查询分析,另外还提供智能诊断分析能力,帮助用户更方便地使用 StarRocks。
在这里插入图片描述

  • 企业级数据湖分析场景支持

EMR Serverless StarRocks 在数据湖分析场景的支持也非常完善。一方面支持数据湖查询加速,另一方面在传统数仓分层ETL的场景下,作为ADS层的Olap引擎,同时也支持DWD和DWS层的查询加速。EMR Serverless StarRocks 在企业级数据湖分析场景做到按需秒级弹性,0负载0成本,提供全面的负载分析和诊断分析;通过内核优化实现了相比于开源Trino3—5倍的提升,支持 Trino 兼容以及一键迁移,另外在 Benchmark测试下性能显著优于开源的ClickHouse和Apache Doris;另外在查询加速方面,针对缓存管理也做了增强,企业级外表物化视图,可有效实现湖仓分层,企业级缓存管理模块,支持配置热表,热分区等淘汰策略,可根据业务场景平衡性能与成本。

在这里插入图片描述

  • 企业级物化视图ELT场景支持

EMR Serverless StarRocks 提供企业级物化视图ELT场景支持。当数据量没有那么大的时候,可以用 StarRocks 处理所有 Pipeline,极大地加速整个业务流程。EMR Serverless StarRocks 通过大量算子 Spill 特性优化,提供企业级 MPP ETL 模式,确保了高稳定性,同时利用 VVP CTAS / CDAS 能力打造了全链路实时数仓;完善的 Data Sink Connector,支持多种湖格式,基于 DataLake 的 ELT 全链路,一站式读写和加工湖数据;此外,后续还会推出视图血缘功能,提供企业级物化视图血缘关系,可以更方便地构建实时数仓,还可以基于历史信息优化,推荐更完善、性能更好、更稳定的物化视图,帮助用户在ELT场景下更好地支撑业务。

在这里插入图片描述

  • 存算分离&极致弹性

除了能够全面地支撑数据湖分析场景之外,EMR Serverless StarRocks 还支持企业级的存算分离和极致弹性能力。在存算分离架构下,基于底层的OSS数据湖存储在极大地降低存储成本的同时,还能够保证很高的数据可靠性;另外多 Data WareHouse 场景可以基于同一份物理数据创建两个 Virtual Data Warehouse,一个用于扫表,一个用于高维查询,两个Warehouse 有各自的缓存策略,对于业务隔离和SLA保障有非常好的提升;另外在性能上,依托于EMR Serverless StarRocks 企业级缓存能力,在缓存打开的时候性能和存算一体基本持平,当缓存不命中的情况下,查询性能也较为可控。

在这里插入图片描述

数据湖管理 DLF 重磅升级

  • 统一元数据管理

首先在元数据管理方面,DLF 有2.5倍性能提升,单表支持500万分区;推出了全面兼容HMS功能,也就是Hive MetaStore的能力。

  • 统一权限管理

中心化权限管理方面,全面兼容 Ranger 鉴权,全面支持访问审计,还支持对接 LDAP;全场景权限检查方面,支持 Hive/Spark 表鉴权, 支持文件目录鉴权,另外还可以对接 EMR 全系列产品组件。

  • 统一数据治理

在数据治理方面也做了很多工作。在生命周期管理方面,支持全面分析访问日志、访问时间,智能识别数据冷热,允许指定规则,智能执行冷热分层和归档,较好地节约成本;湖表格式加速方面也全面支持湖表格式加速,全面覆盖 Paimon、Delta、Hudi、 Iceberg 等常用湖格式。

  • 在线平滑迁移

DLF 支持HMS 迁移、支持 HDFS、S3 迁移 、支持双跑校验比对;支持 HDFS 透明协议代理。实现在线平滑迁移,不影响在线应用,无需修改业务,在数据迁移过程中和迁移之后可以做双跑数据对比校验,没有数据损害。

在这里插入图片描述

数据湖存储 OSS-HDFS 全面升级

数据湖存储 OSS-HDFS 也做了全面升级,目前在线上已经有超过1000个客户,服务存储量超过100PB。

  • 大幅提升性能

元数据访问性能提升了2倍以上,对于某些特定的操作,性能提升能够达到10倍。IO 访问支持智能预读,请求数减少 20%+,支持高效并发,CPU 使用降低 30%+。

  • 多举措降低成本

全面支持 OSS 归档能力,新增支持冷归档和深冷归档,支持归档直读,无须回转;对于分层存储和归档数据也有完善管理,支持无限制目录级/分区级归档,支持目录 Access Time,高效识别数据冷热。

  • 全方位数据保护

对 Kerberos 认证、Ranger鉴权、审计日志、数据清单功能进行全面安全支持,另外还提供目录保护的能力,支持指定目录保护,避免误删,对于回收站的清理策略也支持更细粒度的管理。

  • 全面开源生态兼容

全面兼容HDFS,兼容 HDFS 接口、支持 HDFS 二进制协议兼容、支持 HDFS 命令;另外还支持 fsimage 导出 。

在这里插入图片描述

最后,阿里云 EMR 团队也在规划全托管数据湖缓存加速,预计明年4月份会和大家见面,欢迎关注。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1236103.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

激发创新,助力研究:CogVLM,强大且开源的视觉语言模型亮相

项目设计集合(人工智能方向):助力新人快速实战掌握技能、自主完成项目设计升级,提升自身的硬实力(不仅限NLP、知识图谱、计算机视觉等领域):汇总有意义的项目设计集合,助力新人快速实…

Prometheus监控mysql nginx tomcat 黑盒监控

部署consul_exporter https://github.com/prometheus/consul_exporter/releases/download/v0.9.0/consul_exporter-0.9.0.linux-amd64.tar.gz 注册 ootubuntu20:~# cat consul_export.json rootubuntu20:~# cat consul_export.json {"services": [{"id"…

51单片机的智能浇花系统【含proteus仿真+程序+报告+原理图】

1、主要功能 该系统由AT89C51单片机LCD1602显示模块DHT11温湿度模块DS1302时间模块继电器驱动水泵模块光敏传感器等模块构成。适用于智能浇花、自动浇花、智能盆栽等相似项目。 可实现基本功能: 1、LCD1602实时显示北京时间、土壤温湿度、光照强度等信息 2、DHT11采集温湿度信…

同为科技(TOWE)智能机柜PDU助力上海华为数据中心完善机房末端配电

智能时代加速而来,最大的需求是算力,最关键的基础设施是数据中心。作为一家在信息通信领域拥有多年经验和技术积累的公司,华为在全国多个地区都设有数据中心,如知名的贵州贵安华为云全球总部、内蒙古乌兰察布华为数据中心等&#…

Apahce虚拟主机配置演示

在企业的真实环境中,一台WEB服务器发布单个网站会非常浪费资源,所以一台WEB服务器一般都会发布多个网站,少则3-5个,多个10-20个网站。在一台服务器上发布多网站,也称之为部署多个虚拟主机。 WEB虚拟机主机配置方法主要…

『 Linux 』使用fork函数创建进程与进程状态的查看

文章目录 🖥️ 前言 🖥️🖥️ 通过系统调用获取进程标识符 🖥️💻 进程标识符PID💻 父进程标识符PPID 🖥️ 通过系统调用创建子进程 fork() 🖥️💻 那么为什么在fork()函…

存储日志数据并满足安全要求

日志数据是包含有关网络中发生的事件的记录的重要信息,日志数据对于监控网络和了解网络活动、用户操作及其动机至关重要。 由于网络中的每个设备都会生成日志,因此收集的数据量巨大,管理和存储所有这些数据成为一项挑战,日志归档…

双亲委派机制与类加载器的自定义

类加载器的作用与位置 在java字节码文件交给JVM运行时,需要类加载器子系统进行加载,类加载器子系统主要分为 三个阶段加载 链接 初始化具体可以看我前两篇博客这里就不再赘述 加载阶段主要有三个加载器引导类加载器 扩展类加载器 系统类加载器完成 他…

pytorch中.to(device) 和.cuda()的区别

在PyTorch中,使用GPU加速可以显著提高模型的训练速度。在将数据传递给GPU之前,需要将其转换为GPU可用的格式。 函数原型如下: def cuda(self: T, device: Optional[Union[int, device]] None) -> T:return self._apply(lambda t: t.cuda…

六、Big Data Tools安装

1、安装 在Jetbrains的任意一款产品中,均可安装Big Data Tools这个插件。 2、示例 下面以DadaGrip为例: (1)打开插件中心 (2)搜索Big Data Tools,下载 3、链接hdfs (1&#xff0…

Java 代码 格式化插件

Java代码 格式化插件 文章目录 Java代码 格式化插件一. 前言1.1 官网1.2 概念1.3 格式化更变规则 二. 使用2.1 插件添加2.2 使用 一. 前言 1.1 官网 spring-javaformat-maven-plugin 1.2 概念 一组可应用于任何 Java 项目以提供一致的“Spring”风格的插件。该套件目前包括…

解决vue element - ui 弹窗打开表单自动校验问题

1 打开弹窗清除自动校验 在data 里面把所有表单字段都定义一下 2 弹窗关闭事件 清除校验

xss-labs靶场1-5关

文章目录 前言一、靶场需要知道的前置知识点1、什么是xss攻击?2、xss攻击分为几大类1、反射型xss2、存储型xss3、dom型xss 3、xss攻击形成的条件 二、xss-labs关卡1-51、关卡12、关卡23、关卡34、关卡45、关卡5 总结 前言 此文章只用于学习和反思巩固xss攻击知识&a…

C语言scanf_s函数的使用

因为scanf函数存在缓冲区溢出的可能性;提供了scanf_s函数;增加一个参数; scanf_s最后一个参数是缓冲区的大小,表示最多读取n-1个字符; 下图代码; 读取整型数可以不指定长度;读取char&#xf…

Vue typescript项目配置eslint+prettier

1.安装依赖 安装 eslint yarn add eslint --dev安装 eslint-plugin-vue yarn add eslint-plugin-vue --dev主要用于检查 Vue 文件语法 安装 prettier 及相关插件 yarn add prettier eslint-config-prettier eslint-plugin-prettier --dev安装 typescript 解析器、规则补充 …

Ubuntu下载离线安装包

旧版Ubuntu下载地址 https://old-releases.ubuntu.com/releases/ 下载离线包 sudo apt-get --download-only -odir::cache/ncayu install net-tools下载snmp离线安装包 sudo apt-get --download-only -odir::cache/root/snmp install snmp snmpd snmp-mibs-downloadersudo a…

2023 年爆肝将近 20 万字讲解最新 JavaEE 全栈工程师基础教程(更新中)

1. Java 语言基本概述 Java 是一种广泛使用的编程语言,由 James Gosling 在 Sun Microsystems(现在是 Oracle Corporation 的一部分)于 1995 年发表。Java 是一种静态类型的、类基础的、并发性的、面向对象的编程语言。Java 广泛应用于企业级…

【Java】异常处理及其语法、抛出异常、自定义异常(完结)

🌺个人主页:Dawn黎明开始 🎀系列专栏:Java ⭐每日一句:道阻且长,行则将至 📢欢迎大家:关注🔍点赞👍评论📝收藏⭐️ 文章目录 一.🔐异…

idea Maven Helper插件使用方法

idea Maven Helper插件使用方法 文章目录 idea Maven Helper插件使用方法📆1.安装mavenhelper🖥️2.使用教程📌3.解决冲突📇4.列表展示依赖🧣5.tree展示依赖🖥️6.搜索依赖🖊️7.最后总结 &…

css鼠标横向滚动并且不展示滚动条几种方法

需求&#xff1a;实现内容超出之后使用属性滚轮进行左右查看超出内容&#xff0c;并且隐藏滚动条 1.不使用框架实现 每次滚动就滚动40px的距离 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name&quo…