第 1 章 Azkaban 概述

1.1 什么是 Azkaban

Azkaban 是和 Oozie 类似的用于进行任务调度的工具, 但是使用起来要比 Oozie 容易的多.

Azkaban 是由 Linkedin 公司推出的一个批量工作流任务调度器,主要用于在一个工作流内以一个特定的顺序运行一组工作和流程,它的配置是通过简单的 key:value对的方式,通过配置中的 dependencies 来设置依赖关系。

Azkaban使用 job 配置文件建立任务之间的依赖关系,并提供一个易于使用的 web 用户界面维护和跟踪你的工作流。


1.2 Azkban 的特点

  1. 兼容任何版本的hadoop
  2. 易于使用的Web用户界面
  3. 简单的工作流的上传
  4. 方便设置任务之间的关系
  5. 调度工作流
  6. 模块化和可插拔的插件机制
  7. 认证/授权(权限的工作)
  8. 能够杀死并重新启动工作流
  9. 有关失败和成功的电子邮件提醒

1.3 常见工作流调度系统

  1. 简单的任务调度:直接使用crontab实现;

  2. 复杂的任务调度:开发调度平台或使用现成的开源调度系统,比如ooizeazkaban


1.4 Oozie 和 Azkaban 的对比

特性 Oozie Azkaban
工作流描述语言 XML text file with key/value pairs
是否要web容器 Yes Yes
进度跟踪 web page web page
Hadoop job调度支持 yes yes
运行模式 daemon daemon
事件通知 no Yes
需要安装 yes yes
支持的hadoop版本 0.20+ currently unknown
重试支持 workflownode evel yes
运行任意命令 yes yes

1.5 Azzkaban 的基本架构

Azkaban 由三个关键组件构成:

AzkabanWebServer

AzkabanWebServer 是整个 Azkaban 工作流系统的主要管理者,它负责用户登录认证、负责project管理、定时执行工作流、跟踪工作流执行进度等一系列任务。

AzkabanExecutorServer

AzkabanExecutorServer 负责具体的工作流的提交、执行,它们通过 mysql 数据库来协调任务的执行。

关系型数据库 Mysql

存储大部分执行流状态,AzkabanWebServer 和 AzkabanExecutorServer 都需要访问数据库。

Copyright © 尚硅谷大数据 2019 all right reserved,powered by Gitbook
该文件最后修订时间: 2019-04-02 05:09:01

results matching ""

    No results matching ""