离线数据开发之任务调度系统

大数据调度系统的由来
1)大数据下,调度系统时整个大数据体系的指挥中心,负责合理的调配资源。

2)在调度系统中各类任务互相依赖,形成一个有向无环图。

3)传统的数据仓库是依靠定时任务的方式进行调度,这种方式存在几个缺点:

① 任务调度依据时间,造成前一个任务未完成而后面的任务已经开始

② 任务难以并发,难以设置优先级

③ 任务管理维护比方便

4)大数据下数据量巨大,同时任务种类繁多,如MapReduce,hive,spark等,为了解决以上问题,大数据任务调度系统应运而生

调度系统设计模型
1)调度系统的构成:
在这里插入图片描述
2)调度系统的重要概念:

① 任务状态机模型:描述任务节点在生命周期中的状态
在这里插入图片描述
② 工作流状态机模型:描述任务节点在由调度树生成的工作流在运行时的不同状态
在这里插入图片描述
3)调度引擎的工作原理

基于任务状态机模型、工作流状态机模型,以事件驱动的方式运行,为任务节点生成实例,并在调度树中生成工作流。任务节点示实例在工作流状态机、工作流状态机和事件处理器之间转换。重要组件如下:

① Async Dispatcher:异步处理任务调度

② Sync Dispatcher:同步处理任务调度

③ Task 事件处理器:与任务状态机交互

④ DAG 事件处理器:与工作流状态机交互

在这里插入图片描述
4)执行引擎的工作原理

由三部分组成,服务接口、服务实现、task

① 服务接口:

  • 任务管理接口:进行集群任务管理

  • 系统管理接口:进行集群资源管理

② 服务实现:

  • Driver:

在这里插入图片描述

  • Task pool:

  • 在这里插入图片描述

    • ResourceManager:整个集群的资源管理
  • TaskContainer:为Task执行提供载体

  • 在这里插入图片描述

    • session manager:实现对task session 的管理
  • node:集群中的节点,提供物理资源

③ task

批处理任务或者流处理任务会提交给对应的平台进行处理,其他如shell、数据同步等任务会在调度系统中直接执行

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值