0%

大数据作业调度平台

大数据作业调度平台

任务调度原理与规则

任务

任务是我们通常想要执行的一系列程序指令的集合

任务调度

将编写好的任务按照用户期望的时间,预定的需求进行执行。

任务调度规则

不同的任务调度工具规则不同,例如Azkaban是批量工作流任务调度,Quartz是同步/异步任务调度

任务调度需要解决的问题

  1. 采用程序来执行,可减少认为的误操作,以免带来不必要的麻烦
  2. 解放员工,提高工作效率
  3. 某些需求程序比人力更合适,例如每天两天凌晨两点执行数据同步
  4. 可追溯,异常及时通知等等

常见的几种任务调度工具

Hamake

Hadoop Make Utility,更新独立数据集的作业可以并发执行,利用Hadoop集群的全部容量。依赖关系图可能包括循环,导致依赖关系循环,可以使用数据集版本控制来解决。

Oozie

基于工作流引擎的开源框架,是用于Hadoop平台的开源的工作流调度引擎,是用来管理Hadoop作业,属于web应用程序,由Oozie clinet和Oozie Server两个组件构成,Oozie Server两个组件构成。Oozie Serve运行于Tomcat中的web程序。

Azkaban

例Azkaban是批量工作流任务调度,主要用于在一个工作流内以一个特定的顺序运行一组工作和流程。Azkaban使用job配置文件建立人物之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪工作流。

Cascading

Cascading是一个数据处理的API和查询处理计划,用于定义,共享数据处理工作流,还能在单一计算节点或分布式计算集群上执行数据处理工作流。

Azkaban工具介绍

架构:
ExecutorServer可能是个集群
DB是集群中所有节点运行共用用的数据存储,包含作业信息、各种调度元数据等。
Developer提交工作流
工作流也可以嵌入到工作流中

组件介绍:
Azkaban WebServer
Azkaban WebServer是整个调度集群的核心,负责所有作业的管理和调度。
Azkaban ExecutorServer
Azkaban ExecutorServer,整个调度集群中实际运行作业的节点