随着开源技术与云原生的高度融合,阿里云开源大数据平台在功能性、易用性、安全性上积累了丰富的实践经验,已成功服务数千家企业,助力其聚焦自身核心业务优势,缩短开发周期、简化运维难度,拓展更多业务创新。10月29日,阿里云发布“如何构建云原生的开源大数据平台”解决方案,邀请到了来自阿里云、微淼、Inmobi的技术专家为大家现身说法,呈现上云实践。
本文主要从数据湖、实时数仓、检索分析等场景展开分享了云原生开源大数据应用实战
分享嘉宾: 刘玉全,阿里云智能大数据解决方案架构师
视频地址:https://yqh.aliyun.com/live/bigdataop
一、前言
随着各行各业的数据越来越多,自建大数据基础设施逐渐暴露出各种问题,比如采购周期长、运维成本高,技术栈复杂等。而选择上云成为抵抗该类问题的较优选择,企业不仅可以享受到云上强大的基础设施能力,同时云上丰富的生态计算和存储的弹性伸缩能力,为企业降本增效。
互联网中的 APP 普遍存在着内容推荐、实时风控、信息检索等各类解决方案需求,而实现这类需求则需要强大的计算和存储的能力。
二、云原生的开源大数据统一平台
云原生的开源大数据统一平台,是构建在云上,基于云原生的资源,如ECS \ OSS,这类云主机和云存储的 IaaS 基础设施。云原生开源大数据平台提供弹性伸缩、智能诊断、数据开发和监控报警等基础功能。
同时整个云原生大数据平台产品,可以基于开源 Apache Hadoop 生态运行,也可以基于 K8S 的资源管理平台来构建,而产品体系大概分为两类:
- 半托管形态
以 E-MapReduce(简称 EMR,下同)产品为代表,EMR 为用户提供主流开源大数据组件,比如 Hive、spark,Kafka、Presto、Clickhouse 等,用户可以*搭配使用,并由 EMR 提*品管控功能,让用户方便的使用开源大数据产品。
- 全托管形态
如 Flink、Spark、Hadoop、Kafka、Elasticsearch 等主流计算引擎或平台,提供全托管的 Service 服务。全托管的实时计算平台 Flink Ververica、Spark 原厂的 Databricks 、 Cloudera 的 CDP 平台以及阿里云 Elasticsearch,为不同用户提供不同开源产品的使用方法。
同时阿里云也有中心化的产品,数据湖——“数据湖构建 DLF”,为用户提供统一的元数据入湖、管理等功能,与其他产品进行组合,提供完整的数据湖解决方案。
三、开源大数据上云
开源大数据平台 E-MapReduce
大数据上云主要使用开源大数据平台 EMR,是运行在阿里云平台上的大数据处理系统解决方案。基于开源组件,进行了优化增强,性能远高于开源版本,并且跟随开源版本升级,与各个组件进行适配,保证兼容性的同时,具有足够的稳定性:
- 兼容开源大数据组件
针对 Spark、Hadoop 、Kafka 等组件,基于开源版本进行了优化增强,性能得到极大提升。
- 半托管形态
对于半托管式架构,用户自主可控参与度大,可与现有大数据资源进行无缝的迁移。
- 云原生
阿里云云原生生态,支持数十种的 ECS 实例族,包括计算型、内存型、通用型、大数据型和 GPU 异构计算型,匹配不同大数据场景,同时提供分钟级集群创建和扩容,并支持弹性伸缩和竞价实例。
由于大数据场景一般有明显的数据波峰波谷的特点。比如凌晨的任务,需要一个比较高的 SLA 保障。而白天可能就是一个资源低谷,主要完成一些开发任务。我们通过弹性缩容能力,可以很好的达到节省成本的效果。
- 云原生支持阿里云的对象存储 OSS
采用 JindoFS 加速 OSS 的性能,降低数据存储的成本。与阿里云的其他产品进行深度的集成,可以在 DataWorks 上使用 EMR,作为作业计算和数据存储的引擎,集成数据湖构建 DLF,实现数据湖场景下的多引擎的统一元数据的管理。
- 企业级特性
比如 EMR 的 APM,在集群主机服务作业层面的一个监控告警和诊断,支持 Kerberos、RAM 作为鉴权平台 Ranger 的权限管理,保证数据的安全。阿里云企业资源组和标签,方便企业做成本核算。
开源大数据上云方案
开源大数据搬站上云,是将 IDC 中自建或其他大数据平台,迁移到阿里云上,并通过EMR 产品延续开源技术栈,链接阿里云生态和开源大数据的生态。
根据数据规模和预算的不同,可以通过闪电立方、专线和公网的方式,按照计划,高效的把数据和任务迁移到云上,上云后集成阿里云整个数据生态:
- 集成 DataWorks
提供高效、安全可靠的一站式大数据开发和治理平台。
- 集成对象存储 OSS
EMR 中所有的计算引擎均支持采用 OSS 作为存储,可以将 OSS 像 HDFS 一样使用,并采用 JindoFS 对 OSS 数据读写进行加速。JindoFS 是数据湖的一个重要组件,现在有大量的用户在使用 JindoFS 构建云上的数据湖,实现数据库的分层存储,降低存储成本。
- 集成数据湖构建 DLF
EMR 默认支持使用数据湖构建 DLF 进行元数据的管理,方便数据湖场景下的元数据管理。阿里云数据湖构建 DLF,使用阿里云对象存储 OSS 作为云上数据湖的统一存储
在云上,可以使用多种计算引擎,面向不同的大数据计算场景,使用统一的数据湖存储方案,避免数据同步产生的复杂性和一些运维的成本。
云原生的弹性:20%成本优化
云原生的弹性能力可以带来20%的成本优化。
传统的大数据计算业务具有很强的周期性,比如明显的波峰波谷,凌晨负载高而白天负载低,用户在规划集群的时候,传统模式下是要按照峰值规划集群,对资源有一定程度的冗余。
EMR JindoFS+ OSS 的数据湖方案,实现与 HDFS 基本一致的性能表现,为客户实现云上大数据架构的升级,实现了存算分离,让客户享受到计算弹性扩展与存储弹性扩展的红利,让客户更专注在应用层的开发。
使用存算分离架构后,集群根据业务周期和负载进行弹性伸缩,使用固定资源池加弹性资源池的方式:
对于比较固定的计算资源,使用固定的资源,确保可以锁定资源完成计算。
对于波峰或者是突发计算任务,采用弹性资源池来应对,以降低对计算资源的浪费。
四、云上实时应用
典型实时应用场景
大数据经过这么多年的发展,大规模计算的能力已经不是问题,时效性成为了一个重要的特性。
在阿里双11的场景中,当天所有的数据分析基本都是实时化,秒级更新;由于越来越多的离线处理,无法满足业务的发展,而需要更多的实时处理嫩能力,比如实时数仓,实时大屏,实时报表等。
市场投放同学基于实时投放的统计效果,实时调整投放策略;实时推荐,基于用户的实时行为计算用户的兴趣,然后帮助用户选择合适的内容;实时风控基于用户的行为特征,实时判断用户是否为作弊的用户,对作弊用户进行一些处罚的操作。
实时计算Flink
阿里云实时计算Flink ,是一套基于 Apache Flink 构建的一站式实时大数据分析平台,提供标准 SQL,降低业务的开发门槛,帮助企业向实时化、智能化大数据计算升级。
Flink 作为实时计算的流式计算引擎,可以处理多种实时数据,包括在线服务日志、IOT传感器数据、云上业务数据库 RDS 中的 Binlog。
Flink 订阅 Kafka,消息队列中的实时数据,进行数据分析和处理,然后将分析的结果,实时写入到不同的数据存储中。例如 Clickhouse、Hologres、 Elasticsearch 等产品,通过数据服务,支撑上层的数据应用。
实时计算Flink 基于平台底座,提供 Serverless 服务,全托管的容器化支撑:
- 计算引擎 Runtime
包括了自研的流状态存储引擎 Gemini、SQL 算子和作业调度的深度优化及丰富的开箱即用的 Flink connector 开发平台,提供了作业照顾的全生命周期管理。
- AutoPilot 这个智能调优
可以在保证各个算子和流作业上下游性能稳定的前提下,调整作业并行度和资源的配置,然后全局优化作业,解决因吞吐量不足,导致全链路反压和资源浪费等各种性能调优的问题。
- Prometheus 的全链路监控报警
所有的 Flink 实施任务都是要保证7×24小时运行,所以需要一个完善的监控体系,提供完善的任务运行监控指标,然后查看任务运行的健康状态。当作业发生异常时,及时通知相关人员介入处理。
云上开源实时数仓的最佳实践
在云上可以通过 Flink、Kafka、Clickhouse 实现一套全链路的实时数仓的最佳实践。
将业务日志、业务数据,实时采集到消息引擎 Kafka 中,利用 Flink 对数据进行实时的ETL 处理汇总分析,然后将结果保存到 Clickhouse 中,通过 Clickhouse 支撑上层大数据的应用,比如实时报表,实时营销的分析,AB 实验的功能。
五、云上检索应用
典型检索应用场景
现在每一个移动互联网中的用户,每天都在查询各种各样的信息。比如附近的餐厅、酒店、你的购物订单、物流的信息应用。
那么就需要帮助用户高效的获取信息,提供一个面向海量数据的信息检索的服务。
日常如我们在购物时搜索自己感兴趣的商品,朋友聚餐时寻找附近有特色餐厅和咖啡馆,研发同学,在业务系统产生异常日志异常时,通过日志进行分析排查问题。
阿里云 Elasticsearch
上述场景都需要一个信息检索的服务,而 Elasticsearch 拥有强大的全文检索的能力,可以实现复杂的组合条件和模糊的查询,然后轻松应对各种文本和地理位置信息的检索查询。
阿里云 Elasticsearch 提供全托管的ELK服务,100%兼容开源,免费提供 X-pack 商业插件,即开即用,按需付费。同时,深入功能与内核性能优化,提供更丰富的分析检索能力,更安全、高可用的服务:
- 整体成本降低
与自建ES相比,由于整体云上托管,无需底层资源的运维投入,实现较低的运维成本
- 集群管控
实现集群弹性扩缩容、Eyou 智能运维统一监控。
- 与自建ES的能力差异
提供免费的 X-pack 插件、达摩院 NLP 分词插件、以及向量检索插件
- 安全高可用
X-pack 安全组件和字段级别的安全控制,满足高可用和数据自动备份,同城多活架构,实现服务可靠性达到99.9999999%。
云上信息检索应用最佳实践
各个企业在经营过程中,都会产生大量数据,有结构化和半结构化的数据。
比如说行业知识、地理位置信息、订单信息,音视频数据。这些数据可能存储在数据库RDS 或者是对象存储 OSS 中,亦或者是大数据存储引擎中。
通过数据集成工具,可以将这些数据同步到消息引擎或者是数据仓库中,通过Flink 对数据进行实时的处理,由 Maxcompute 或者 EMR Spark、Hive ,然后进行离线计算,将结果保存到 Elasticsearch中,为上层的数据应用提供检索服务,比如全文的检索和地址的查找。
以上就是云原生开源大数据应用实战分享的全部内容。
相关信息
⭐点击链接观看直播回放,超多活动信息等你来
https://yqh.aliyun.com/live/bigdataop
⭐更多EMR相关信息,欢迎前往EMR产品详情页: https://www.aliyun.com/product/emapreduce
⭐更多数据湖相关信息,欢迎前往数据湖构建DLF 产品详情页:
https://www.aliyun.com/product/bigdata/dlf
欢迎钉钉扫码加入EMR产品交流群,为您提供最新的产品直播、产品活动及技术支持!