- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
伊利集团基于DolphinScheduler的探索与实践-姜涛
展开查看详情
1 .伊利集团基于 DolphinScheduler 的探索与实践 伊利集团/数字化中心 姜涛 2022.08.13
2 .目录 CONTENTS 01 背景与应用情况介绍 02 实践 && 探索 03 未来的规划 04 关于开源的思考
3 . 01 伊利介绍 背景与应用情况介绍 应用背景介绍 平台定位以及使用现状
4 .伊利愿景:成为全球最值得信赖的健康食品提供者 Ø伊利集团位居全球乳业五强,连续八年蝉联亚洲乳业第一,也是中国规模最大、产品品类最全的乳制品企业。最优的产品 品质、领先的综合服务能力和全面的可持续发展能力,让伊利一直深受全球顶级盛会、赛事以及各级政府和社会各界的信 赖与认可。 Ø站在全球乳业五强的新起点,伊利已正式发布2025年挺进“全球乳业三强”的中期目标及2030年实现“全球乳业第一” 的长期战略目标。
5 .应用多云分布+集中式数据架构,使跨云的数据搬迁与多云统一调 度成为刚需 Ø结合不同云服务商的生态差异,云上应用根据特性选择契合的云服务商轻量化部署已成必然。 Ø数据作为核心生产要素,集中式数据架构仍未挖掘数据的最大价值的主流的解决方案。 Ø稳定、可扩展的数据集成与工作流调度能力已成为刚性需求。 B云 每日待搬迁数据表:8000+ xxx A云 营销类 XXX 涉及系统:80+ C云 渠道类 XXX 涉及云环境:4 D云 人力 制造 XXX 物流 供应 销售 采购 财务核算 xxx
6 .统一技术架构来对抗熵增,降本增效 核心问题 解决方案 n同类工具产品重复建设:缺少统一规划,导 n公共基础能力统一规划并建设:大数据基础 致同类功能产品存在重复建设。 设施、调度服务。 n技术选型杂:AirFlow、Azkaban、Oozie、 n以多租户的方式进行统一管理:资源分配、 自研调度等。 发布-订阅模型、申请即用。 n建设及衍生成本高:多技术栈的人员资源储 备、运维、使用培训等成本。 n扩展性问题:本地化个性需求的扩展性支持。
7 . 伊利大数据调度服务平台的定位 && 应用现状 Ø核心定位:不是一个工作流的调度平台,未来是一个一体化的数据平台 Ø支持场景:内外部的数据集成场景、应用侧分布式调度场景、数据任务的工作流调度场景 Ø面向用户:内外部数据开发人员、应用开发人员、数据分析人员 Ø应用现状:集群规模15节点,日搬迁表8000+,日调度任务数1.3w 业务应用 集群规模:15节点 API调用 数据应用与数据服务 集成 & 开发 & 调度 & 运维 一体化数据平台 直接集成 直接调用 日搬迁表:8000+ 原始数据 数据采集 数据处理 数据分析 数据展示 数据ETL 分析 & 挖掘 & BI 计算引擎(实时/非实时原生组件服务) 计算引擎(实时/非实时原生组件服务) 计算引擎(实时/非实时原生组件服务) 数据存储(结构化、非结构化存储) & 资源管理(弹 性资源调度) 数据存储(结构化、非结构化存储) & 资源管理(弹 性资源调度) 数据存储(结构化、非结构化存储) & 资源管理(弹 性资源调度) 日调度任务数:1.3w 基础设施资源(磁盘、CPU、内存、网络) 基础设施资源(磁盘、CPU、内存、网络) 基础设施资源(磁盘、CPU、内存、网络)
8 . 伊利大数据调度服务平台系统总览 工具集合 工具集合 Ø项目是最顶层概念,资源、 数据集成 数据开发 资产管理 即席查询 任务编排 数据服务 数据集成 数据开发 资产管理 即席查询 任务编排 数据服务 项 项 角色和工具做了抽象,用户 目 资源管理 角色管理 目 资源管理 角色管理 在项目内可以完成数据集成、 数据集 数据源绑定 环境绑定 开发 测试 运维 数据集 数据源绑定 环境绑定 开发 测试 运维 开发、任务调度、任务监控, 成 成 以及轻量化的资产管理。 Ø调度服务向下屏蔽多环境 资源绑定 租户映射 权限体系映射 细节,用户根据权限和需求 进行环境绑定。 计算引擎(实时/非实时原生组件服务) 计算引擎(实时/非实时原生组件服务) 计算引擎(实时/非实时原生组件服务) Ø调度平台租户与大数据平 台租户打通,实现了平台侧 数据存储(结构化、非结构化存储) & 资源管理 数据存储(结构化、非结构化存储) & 资源管理 数据存储(结构化、非结构化存储) & 资源管理 (弹性资源调度) (弹性资源调度) (弹性资源调度) 用户权限以及资源的精细化 基础设施资源(磁盘、CPU、内存、网络) 基础设施资源(磁盘、CPU、内存、网络) 基础设施资源(磁盘、CPU、内存、网络) 管理。 腾讯云 阿里云 京东云
9 . 02 面向场景的数据集成 实践 && 探索 轻量化的资产管理 多云任务调度 监控看板优化 体验升级优化
10 .围绕用户核心诉求,优化功能和体验 用户思维 一切围绕用户的体验 数据集成 资产管理 多云调度 统一架构,简化操作,提升效率 技术 & 业务元数据的轻量化管理 一张画布编排多云的DAG任务 看板升级 体验优化 展示关键运维指标 降低使用门槛,提升用户的体验
11 . 面向场景的数据集成 痛点 应对策略 多种数据集成组件或技术让用户难以选择 只给用户一个最好的选择 技术架构不统一导致维护成本增加 基于DataX统一数据集成架构 数据集成任务配置繁琐 通过模板生成器生成任务模板 二次开发扩展性较差 合理的代码设计 数据集成 资产管理 多云调度 看板优化 体验优化
12 . 基于DataX统一数据集成架构,优化资源问题,降低运维成本 Ø基于集成场景封装任务组件 Ø后端拦截参数生成datax任务模板,封装成datax task Ø针对字段不对应的情况支持占位符 1 2 3 用户视角 用户按照集成场景搜索组件 用户填写组件模板 保存并上线 数据集成 资产管理 多云调度 看板优化 体验优化
13 . 轻量化的数据资产管理 提供轻量化的数据资产管理功能,包括业务元数据管理(主题域、主题、业务标签的管理),以及技术元数据管理(库、表、 字段、基础属性),让开发人员更清晰的管理数据资产。 主题域&主题管理 正逆向建表 资产检索 正向建表:通过可视化建表工具, 提供资产检索功能,支持按主题域、 提供主题域、主题以及业务标签的 填写业务元数据、技术元数据信息, 主题、表名、字段名等进行检索, 管理功能,用于物理表的业务扩展 并物化到大数据平台。 展示资产卡片,以及上下游血缘关 属性。 逆向建表:针对已经存在的表,扫 系 描并自动注册到资产平台进行管理 数据集成 资产管理 多云调度 看板优化 体验优化
14 . 多云任务调度 Ø基于一张画布完成DAG的编排,灵活运用环境与worker组之间的绑定关系,完成多云、多环境的数据处理和任务触发。 Ø需要解决的问题一:基础平台的kerberos跨域问题,多集群keytab互信。 示例场景1 数据集成XX云 数据处理 开 数据集成XX云 数据处理 结 始 数据集成 数据计算 XX云 模型任务 计划生成 数据推送 束 数据集成XX云 数据处理 数据集成 资产管理 多云调度 看板优化 体验优化
15 . 监控看板优化 任务概览 Ø服务监控 Ø关键指标:项目数、工作流(上线/未上线)、应调度任 Ø关键指标:CPU、内存、平均负载、各云环境worker负 务数、已成功调度任务数、分小时运行情况概览、运行失 载,分小时worker运行情况概览 败统计TOP5、运行时长统计TOP5 数据集成 资产管理 多云调度 看板优化 体验优化
16 . 体验的升级优化 序号 核心问题 优化项 1 用户定时配置需要分两步进行 将定时管理与定时上下线页面进行整合 2 整体布局优化 画布中可拖拽组件进行重新分类 脚本编辑区域放大 简化任务配置的参数项,非常用配置通过高级设置进行折叠 3 工作流快速上下线 在画布内允许用户对上线的工作流下线,并修改、保存 4 定时配置提供参考时间段 配置定时,展示目前分时段的已配置调度任务数 5 自定义参数使用提示 提示内置的自定义时间参数含义 6 任务实例的日志无法检索 增加搜索框可以对任务实例日志进行搜索 7 快速定位工作流实例对应的任务实例 增加按照工作流实例查询任务实例的功能接口 数据集成 资产管理 多云调度 看板优化 体验优化
17 .03 长期规划 未来规划 短中期规划
18 .围绕企业新型数据架构,聚焦核心问题,构建智能化的数据平台 明确定位:不是一个工作流调度平台,而是一个数据平台 多云统一 低代码 智能化的管理 与去中心化的新型数据架构完 全链路一站式可视化建模、开 元数据驱动治理,数据质量、 美契合 发、分析体验 标准管理智能化
19 .短中期规划的三个要点 云原生的结合:master、worker等服务基于容器化改造 引入测试、上线流程:项目内角色分离,并添加审核节点,同时对 上线动作进行管控,上线后元数据自动同步 质量模块:对数据质量预定义、稽核,引入数据血缘等
20 . 04 企业如何更好的利用开源 关于开源的思考
21 . 企业内部与开源之间要构建良性的协同方式 Ø 跟进社区动态,分析bug、功能,并进行代码合并和PR提交。(组织内专人执行) Ø 主动发现问题,将问题提交给社区,并进行修复和PR提交。 Ø 积极参加社区活动,周会、月会,了解开源动向,并结合内部做整体规划。 开源社区 问题发现 问题解决 理解开源精神,并落到实处 社区动态跟进 问题跟进 问题分析 代码合并 PR提交 流程明确,责任到人 社区动态跟进流程 积极互动 基础版本代码 迭代规划 开发 测试 增量发布 内部迭代开发流程
22 . THANKS! Ending