饿了么大数据调度系统解析:Oozie、AzKaban与AirFlow
版权申诉
5星 · 超过95%的资源 33 浏览量
更新于2024-09-12
收藏 442KB PDF 举报
"深入大数据平台心脏:饿了么调度系统全解"
随着大数据技术的发展,饿了么在处理海量数据方面面临着一系列挑战,如任务数量快速增长、任务多样性、复杂的任务关系、执行效率低下以及任务失败的不可控性。为了应对这些挑战,饿了么构建了自己的大数据平台,每天能够处理超过54000个大数据任务,拥有85台节点集群。
在开源解决方案中,Oozie被广泛应用于任务调度。作为雅虎的开源项目,Oozie是一个基于工作流的调度引擎,由Oozie Client和Oozie Server组成。Oozie Server运行在Tomcat这样的Java Servlet容器中,它的工作流设计遵循有向无环图(DAG)原则。用户可以通过编写workflow.xml文件定义任务执行顺序,然后利用Oozie提交并管理整个任务流,简化了多任务的协调和执行过程。
另一个例子是AzKaban,来自LinkedIn的开源任务调度服务。AzKaban以Java开发,包含WebServer、DBServer和ExecutorServer三个主要部分。它允许用户通过特定的键值对文件格式定义任务间的依赖,并提供了一个直观的Web界面来管理和监控工作流。
AirFlow是由Airbnb贡献的开源项目,现处于Apache Software Foundation的孵化阶段。AirFlow以任务(tasks)组成的有向无环图(DAGs)来编排Workflow,调度器负责在一组Worker上按依赖关系执行这些tasks。AirFlow还提供了强大的命令行工具、用户界面、监控和报警功能,便于用户操作和维护。
饿了么的调度系统具备以下关键特性:
1. 任务创建简便,支持使用cron表达式设置执行频率。
2. 提供19种任务类型,涵盖计算(如Hive、Spark、PySpark、MR、Kylin)、推送(MySQL、HBase、Redis、Cassandra、HiveToX等)、抽取和检测任务。
3. 任务依赖配置灵活,可匹配不同周期,并提供推荐依赖,DAGVIEW功能帮助可视化任务依赖关系。
4. 调度和执行具有高可用性(HA)、平滑发布、宕机恢复、负载均衡、监控告警、故障排查、快速扩容以及资源隔离机制。
5. 通过这些特性,饿了么调度系统能够高效、稳定地处理大规模的大数据任务,确保业务连续性和数据处理质量。
2019-07-05 上传
2017-09-10 上传
点击了解资源详情
2022-05-26 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
weixin_38655767
- 粉丝: 3
- 资源: 923
最新资源
- JavaScript实现的高效pomodoro时钟教程
- CMake 3.25.3版本发布:程序员必备构建工具
- 直流无刷电机控制技术项目源码集合
- Ak Kamal电子安全客户端加载器-CRX插件介绍
- 揭露流氓软件:月息背后的秘密
- 京东自动抢购茅台脚本指南:如何设置eid与fp参数
- 动态格式化Matlab轴刻度标签 - ticklabelformat实用教程
- DSTUHack2021后端接口与Go语言实现解析
- CMake 3.25.2版本Linux软件包发布
- Node.js网络数据抓取技术深入解析
- QRSorteios-crx扩展:优化税务文件扫描流程
- 掌握JavaScript中的算法技巧
- Rails+React打造MF员工租房解决方案
- Utsanjan:自学成才的UI/UX设计师与技术博客作者
- CMake 3.25.2版本发布,支持Windows x86_64架构
- AR_RENTAL平台:HTML技术在增强现实领域的应用