其他
货拉拉大数据新一代基础架构实践与思考
导读 货拉拉大数据团队在成立三年内解决了诸多业内难题,取得了一些阶段性成果。在本次分享中,货拉拉高级大数据工程师朱耀概,深入探讨了在工作中遇到的关于大数据基础架构的挑战与实践,以及对未来的展望。
本次分享的主要内容包括:1. 背景与挑战
2. 基础架构实践
3. 总结与思考
4. 未来展望
分享嘉宾|朱耀概 货拉拉 高级大数据工程师
编辑整理|李可欣
内容校对|李瑶
出品社区|DataFun
1. 货拉拉介绍
平台服务层提供数据治理能力和基础平台能力服务; 计算引擎层包含离线引擎、OLAP 引擎、(规划中的)AI 引擎; 集群管理&存储层包含在线存储(如 ES 和 HBase)、离线存储(HDFS、云存储)、资源管理(YARN、规划中的 K8s); 基础资源管理层包含基础设施管理体系(主要是货拉拉内部连线的各云厂商提供的物理资源,及对其进行本地化管控的体系),和正在进行中的智能运维体系。
钱效低,具体表现在: 集群资源利用率低; 波峰波谷效应明显,采用高峰资源保障,带来成本浪费; 大数据成本增长快,缺乏对数据的冷热分层、生命周期的管理; 运维效率低,面对全球化/多地域/多集群/多服务的复杂场景,主要依赖 SOP 和脚本来保障运维,效率低下;同时,运维变更的稳定性比较差;运维人员的工作量繁重,被迫拉长工作时间; 分析效率低,用户经常吐槽查询引擎速度太慢,他们对分析效率的追求永无止境。
基础架构实践
首先,组件适配,包括大数据组件适配,例如目前主要使用的计算引擎 Tez、spark、YARN(某些 java 包等);和基础组件适配,例如公司级的安全组件、运维组件等。 第二,在调度改造方面,支持用户在应用层选择架构,同时也完成了对 PySpark 的兼容支持; 最后在机器物理资源压测、TPC-DS 压测、核心链路任务的抽样测试后发现,使用 ARM 节点后集群性能没有明显下降。
首先,需要构建集群的资产管理能力,可以统一资产管理入口,并对资产进行全生命周期管理; 然后,在工作流编排能力上,将 SOP 和运维脚本固化成工作流,使其具备分布式调度执行的能力; 最后,优先完成高优高频场景的自动化改造,快速提升运维效率。
出发点是将计算节点本地的 shuffle 数据保存到远端,本地的计算节点就可以实现无状态化,计算节点便可进行容器化部署,为大数据云原生打下基础。 因为货拉拉使用 Tez 计算引擎,在选型方面主要考虑:通用性,能支持 Tez、Spark、MR;相比本地 shuffle,无明显性能下降;提供高可用的能力,且对 Tez 源码尽量少改动、侵入;首选 Apache 社区活跃项目。
多引擎路由,支持自动降级。主要思想是根据各引擎优缺点,将 SQL 路由到最适合它的计算引擎上。通过观测 SQL 的执行计划,查询数据扫描量和算子分布,匹配路由策略,最终分配到合适的计算引擎上。如果 SQL 执行失败,将自动降级到其他引擎。若所有引擎都执行失败,由 Hive 做兜底,保证执行成功。 对用户屏蔽多引擎差异,降低使用复杂度。不会更改用户使用习惯,用户以 Hive 语法编写 SQL,后台进行 SQL 转化,对用户屏蔽多引擎语法的差异。 分布式架构,高可用且支持横向扩展。为了应对未来的大规模需求。
总结与思考
未来展望
分享嘉宾
INTRODUCTION
朱耀概
货拉拉
高级大数据工程师
本科毕业于华南理工大学,先前就职于 vivo,从事过万亿级 vivo 用户画像建设,目前就职于货拉拉,主要从事大数据平台、大数据自动化运维体系建设以及 HBase 稳定性建设,Apache HBase/Kyuubi/Uniffle Contributor。
往期推荐
一文看懂什么是强化学习?(基本概念+应用场景+主流算法+案例)
字节跳动基于 DataLeap 的 DataOps 实践
大模型分布式训练的第四种境界
OPPO大数据AI湖仓一体实践
哪里人才紧缺,哪里就有大模型
阿里云 DataWorks 湖仓融合数据治理与大模型应用探索
阿里通用多模态大模型 OFA 研究实践
国内卷废了?生成式AI+出海了解下!
袋鼠云在实时数据湖上的探索实践