Azkaban简介与使用
来源:互联网 发布:基址寄存器存数据 编辑:程序博客网 时间:2024/06/05 11:22
一、Azkaban简介
Azkaban是由Linkedin开源的一个批量工作流任务调度器。用于在一个工作流内以一个特定的顺序运行一组工作和流程。Azkaban定义了一种KV文件格式来建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。简而言之就是一个工作流调度系统。
为什么需要工作流调度系统?
因为一个完整的数据分析系统通常都是由大量任务单元组成:shell脚本程序,java程序,mapreduce程序、hive脚本等
而各任务单元之间存在时间先后及前后依赖关系
为了很好地组织起这样的复杂执行计划,需要一个工作流调度系统来调度执行;
常见工作流调度系统
在hadoop领域,常见工作流调度系统有:Oozie, Azkaban,Cascading,Hamake
下面的表格对上述四种hadoop工作流调度器的关键特性进行了比较,尽管这些工作流调度器能够解决的需求场景基本一致,但在设计理念,目标用户,应用场景等方面还是存在显著的区别,在做技术选型的时候,可以提供参考
特性
Hamake
Oozie
Azkaban
Cascading
工作流描述语言
XML
XML (xPDL based)
text file with key/value pairs
Java API
依赖机制
data-driven
explicit
explicit
explicit
是否要web容器
No
Yes
Yes
No
进度跟踪
console/log messages
web page
web page
Java API
Hadoop job调度支持
no
yes
yes
yes
运行模式
command line utility
daemon
daemon
API
Pig支持
yes
yes
yes
yes
事件通知
no
no
no
yes
需要安装
no
yes
yes
no
支持的hadoop版本
0.18+
0.20+
currently unknown
0.18+
重试支持
no
workflownode evel
yes
yes
运行任意命令
yes
yes
yes
yes
Amazon EMR支持
yes
no
currently unknown
yes
其中比较常用的为Azkaban和Oozie。
Azkaban功能特点
1 Web用户界面
2 方便上传工作流
3 方便设置任务之间的关系
4 调度工作流
5 认证/授权(权限的工作)
6 能够杀死并重新启动工作流
7 模块化和可插拔的插件机制
8 项目工作区
9 工作流和任务的日志记录和审计
二、Azkaban使用
Azkaban有web界面,输入https://localhost:8443 (注意是https)可以访问Azkaban的用户界面。如图:
- projects:最重要的部分,创建一个工程,所有flows将在工程中运行。
- scheduling:显示定时任务
- executing:显示当前运行的任务
- history:显示历史运行任务
2.1 创建工程
2.2 创建job
创建job很简单,只要创建一个以.job结尾的文本文件就行了。比如:
# foo.jobtype=commandcommand=echo foo如果是多个job并且有依赖关系,可以使用dependencies参数指定依赖关系。如:
# bar.jobtype=commanddependencies=foocommand=echo bar这样job就创建好了。
2.3 将工作流打包上传
将上面两个job打成zip包,在页面上点击update上传。上传之后如图:
2.4 运行
之后点击绿色的Execute Flow,弹出窗口:
左边的选项卡依次为:
Notification:定义任务成功或者失败是否发送邮件
Failure Options:定义一个job失败,剩下的job怎么执行
Concurrent:并行任务执行设置
Flow Parametters:参数设置。
左下角的Schedule是设置调度时间,右下角的Execute为直接运行,点击Execute。运行之后在Graph可以看到:
在job List中可以看到个job运行的起始终止时间。
这样工作流的调度就执行完了,Azkaban的使用还是挺简单的吧。
转载请注明:http://blog.csdn.net/weiyongle1996/article/details/76072814
- Azkaban简介与使用
- Azkaban简介和使用
- azkaban安装与使用
- azkaban简介
- azkaban 入门简介
- azkaban的安装部署、使用与常见问题解决
- Azkaban安装与应用
- Azkaban简介及安装教程
- Azkaban使用示例
- azkaban安装使用
- azkaban安装使用
- azkaban的使用
- Azkaban使用简单笔记
- Azkaban的使用
- Azkaban
- Hadoop工作流:Oozie与Azkaban
- Azkaban的安装与部署
- 使用Azkaban调度Spark任务
- 《PyQt5 快速编程》例子注释
- ajax+springmvc数据交互
- React中的css失效
- 基于OpenXES的XES序列化源码示例
- Gson的使用
- Azkaban简介与使用
- Ubuntu安装flashplayer
- 机器学习----基础概念的理解
- 简单点,JavaScript
- [BZOJ2351][BeiJing2011]Matrix
- 基于ARM的嵌入式Linux应用程序开发
- FATFS文件系统
- 字符串匹配的KMP算法
- 极光推送jcenter 自动集成