网易大数据海量任务调度和智能运维实践

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1.
2. 大数据海量任务调度和智能运维实践 分享人:陈苏安 网易资深研发工程师,2018年加入网易有数团队,先后深度参与并主导任务调 度系统、任务运维中心等服务的架构建设与改造升级工作。
3. • 网易有数为什么要选择 Azkaban • 针对开源 Azkaban 做了哪些优化 • 智能任务运维中心系统介绍
4. Azkaban 介绍 Azkaban 是 LinkedIn 公司于 2012 年开源 的工作流调度引擎。 ⺴易于 2015 年开始使用 Azkaban 作为大 数据平台的工作流调度引擎。 日均调度总量 50W+,全年可用率 99.9%
5. Azkaban 优劣势对比 • 社区较为活跃 • Web、Executor 存在单点问题 • 友好的用户界面 • 部署复杂、缺乏监控、升级困难 • 执行服务器水平扩容 • 工作流之间无法相互依赖 • 支持插件扩展 • 工作流报警方式单一 • 实例运维能力差,无法满足运维需求
6. • 网易有数为什么要选择 Azkaban • 针对开源 Azkaban 做了哪些优化 • 智能任务运维中心系统介绍
7. Web High Availability 参考 HDFS 的 HA 机制,新增 ZkFC 进 行,实现 Azkaban Web 高可用方案。 Azkaban Web 存在 Active 与 StandBy 两 种状态,仅处于 Active 状态的 Azkaban Web 才触发调度实例的逻辑。
8. Executor High Availability 宕机场景下实例重新下发 实例下发阶段幂等性
9. 部署、监控方案 通过自研 EasyOps 系统,利用 Agent 实现快速部署、扩容 EasyOps 通过 Agent 采集服务的 mertic 信息,然后汇聚到 Server 端 进行 mertic 信息展示、报警监控。
10. Executor 滚动升级方案 滚动升级步骤: 1. 将 Executor 服务置为退役状态 2. 等待 Executor 服务上实例运行完毕 3. 升级 Executor 服务到指定版本 4. 将 Executor 服务置为工作状态
11. 工作流相互依赖方案 支持两种工作流依赖方式: • 工作流依赖节点 • 节点依赖节点
12. 报警解耦、优化方案 报警类型:失败报警、超时报 警、数据质量报警 接收方式:具体接收人、任务 负责人、项目报警组、项目值 班组 基于事件的报警实现
13. • 网易有数为什么要选择 Azkaban • 针对开源 Azkaban 做了哪些优化 • 智能任务运维中心系统介绍
14. 任务运维中心数据流向图 复杂 blob 字段类型 多个表的简单字段 基于最新数据进行预 测、监控、统计
15. 预计完成时间推算模型 依赖打平前 依赖打平后
16. 预计完成时间推算模型 当前节点预计运行时长 = Avg(近14天运行时长) 当前节点预计完成时间 = Max(上游预计完成时间) + 预计运行时长 依赖打平后
17. 实例运行概况(大盘) 宏观展示项目下所有任务产出进度
18. 基线运维 提前预警、提前解决、将事故扼杀在摇篮中
19. 关键链路 寻找任务链路瓶颈、优化关键任务、保障数据按时产出
20. 产出影响 将任务血缘、数据血缘进行打通,评估任务产出影响
21. 冻结池、加速器 冻结池:用于大规模数据错误恢复 加速器:优先保障核心任务产出
22.

Home - Wiki
Copyright © 2011-2024 iteam. Current version is 2.139.0. UTC+08:00, 2024-12-27 01:04
浙ICP备14020137号-1 $Map of visitor$