Azkaban使用简单笔记
官方文档:http://azkaban.github.io/
Azkaban主要的组成:
1. 关系型数据库——MySQL
2. AzkabanWebServer
3. AzkabanExcutorServer
使用MySQL存储状态,AzkabanWebServer和AzkabanExcutorServer访问数据库。
AzkabanWebServer主要管理者Azkaban,主要进行了项目管理、身份验证、调度和监控执行。并且为用户界面。
使用方法:
登录Azkaban环境登录账号和密码之后将会看到一个项目列表界面。
点击创建项目就可以创建安新的项目,创建名称可以第一次命名之后不能再次改变,项目描述可以改变。创建好项目之后,就会进入项目界面,如果没有相关按钮,则说明用户没有相关权限,现在为一个空项目。
上传项目,点击Upload就可以上传项目,项目可以上zip文件,zip里需要包含*.job文件和其他需要运行的job。Job名称必须唯一。
创建流程:
Job为一条在Azkaban中运行的进程。这些Job可以依赖于其他Job。一组Job和他们的所依赖构成了Flow
先创建job文件,文件后缀为*.job。
#test.job
type=command #job类型为command
command=echo "hello world" #command用来执行命令
这段job是执行一个用来打印hello world的命令的。输出的内容会显示在Azkaban的Web UI中。
PS:标准输出和标准错误都会写到log中,可以在Web UI中查看。
创建一个流程:
一个流程是一个依赖其他job的job。其他依赖项经常会运行在这个流程job之前。
#this is flow bar.job
type=command
dependencies=test
command=echo bar
这个job依赖于之前的test.job
在Azkaban中,type值得是运行的类型,command指的是一条Linux命令,同时Azkaban还支持python,java等直接运行,也就可以是hadoop的shell。
一个流程也可以作为一个节点嵌入到其他job文件中,形成嵌入流
type=flow
flow.name=bar
这样嵌入到了另一个job中去

一个简单的例子
文件test.sh
#!/bin/bash
echo "hello world"
文件aztest.job
# aztest.job
type=command
command=sh test.sh
文件zatest.properties
user.to.proxy=Hadoop
将这三个文件打包为zip包:
zip aztestlh.zip aztest.job aztest.properties test.sh
然后上传文件到Azkaban
上传完成值后就可以看到相关信息了
点击Execute Flow就可以运行
运行成功之后,图的底色会变成绿色:
查看日志信息可以看到我们之前的shell脚本输出的内容:
运行job的另一个方式就是定时,也就类似于cron,一个Azkaban项目就是定时脚本执行的调度器。
一个Flow的例子:
定义多个job以及job之间的依赖就可以组成flow。定义依赖可以使用dependencies参数就可以了。例如创建了4个job:
start.job
type=command
command=echo "start execute"
test.job
type=command
command=echo "Hello World"
sleep.job
type=command
dependencies=test, start
finish.job
type=command
dependencies=sleep
有着四个job文件组成的为一个流,我们可以看到流的组成方式为job相互依赖的,将该Flow上传上去之后,Azkaban会将该流里的job以图的形式展示出来。
PS:Azkaban在执行完毕之后说的成功和失败,指的是job文件的成功和失败,并不是job文件所执行的其他文件失败与否。
发送邮件
Azkaban为我们的提供了任务执行的job结果成功失败的邮件提示。
Azkaban为我们提供了3种执行发送消息的选择,分别为失败了发送邮件,失败发送短信和成功发送邮件。可以进行相关设置在对应的时候发送相关信息。
Azkaban使用简单笔记的更多相关文章
- mybatis-config.xml简单笔记
mybatis-config.xml简单笔记 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ...
- applicationContext.xml简单笔记
applicationContext.xml简单笔记 <?xml version="1.0" encoding="UTF-8"?> <bean ...
- Python学习笔记2-flask-sqlalchemy 简单笔记
flask-sqlalchemy 简单笔记 字数 阅读 评论 喜欢 flask-sqlalchemy SQLAlchemy已经成为了python世界里面orm的标准,flask是一个轻巧的web框架, ...
- Android_简单笔记一
入门学习Android的简单笔记(已经安装好了开发环境ADT) 一.关于 AndroidManifest.xml文件 1. android:icon和android:label定义了应用程序安装后显示 ...
- 【Android】Fragment的简单笔记
被虐了,做某公司笔试时,发现自己连个Fragment的生命周期都写不详细.平时敲代码,有开发工具的便利,有网上各大神的文章,就算忘了也很容易的可以查到,但当要自己不借助外界,却发现自己似乎对该知识点并 ...
- Innodb 锁 (简单笔记)
看过很多innodb锁的文章,已经明白的就不写了,简单做个笔记 Innodb 锁的兼容性: 1.意向锁和意向锁之间都是兼容的 2.X(排他锁)与任何锁都是不兼容的 3.排他意向锁 IX 于S锁是不 ...
- 使用Git简单笔记
这里只是作为简单的笔记整理,第一次使用的推荐先看一下廖大的教程,内容很多很细,可以边看边练.看不懂的地方先记着.争取七七八八看下来. ================================= ...
- azkaban的简单使用
简单使用 create job 右上角 project创建成功 创建job并上传至该project [root@localhost ~]# cat command.job #command.job t ...
- awk命令分析日志的简单笔记
awk是一个文本分析工具,可以用来进行流量日志分析 之前无意中看到了这个命令,简单记一下笔记 ,在打线下的时候可能会有用 awk有3个不同版本: awk.nawk和gawk,未作特别说明,一般指gaw ...
随机推荐
- 基于谱聚类的三维网格分割算法(Spectral Clustering)
谱聚类(Spectral Clustering)是一种广泛使用的数据聚类算法,[Liu et al. 2004]基于谱聚类算法首次提出了一种三维网格分割方法.该方法首先构建一个相似矩阵用于记录网格上相 ...
- python基础入门教程《python入门经典》
第一章 在python中使用数字 1.用变量存储信息 1.1变量的类型 变量,用于存储很多不同的数据类型的信息. 基本数据类型 数据类型 存储内容 示例 integer 整 float 浮点 ...
- 关于echarts使用的常见问题总结
关于echarts使用的问题总结1.legend图例不显示的问题: 在legend中的data为一个数组项,数组项通常为一个字符串,每一项需要对应一个系列的 name,如果数组项的值与name不相符则 ...
- 定位--position属性
一.定位--position属性 1.static:默认值 没有定位--以标准文档流方式显示 2.relative:相对定位--相对自身原来的位置进行偏移(top left right bottom) ...
- jdbc的配置及jdbc连接常用数据库(mysql、sqlserver、Oracle)
1.连接SQL Server数据库 import java.sql.*; publicclassMain{publicstaticvoid main(String[] args){String dri ...
- git与github的使用
git和github是两个完全不同的概念,就好比如雷锋与雷峰塔的关系. git是一个版本管理工具,用来更好的管理你的程序,比如你原来提交过的内容,以后虽然修改了,但是通过git这个工具, 可以把你原来 ...
- [平衡树] mingap
时间限制: 1 Sec 内存限制: 128 MB提交: 18 解决: 9 题目描述 实现一种数据结构,维护以下两个操作: (1) I x :加入元素 x : (2) M :输出当前表中相差最小的两 ...
- Qt使用MySQL笔记一
原始日期:2015-08-20 18:01 今天开发项目时,遇到一个问题,经过自己不断尝试,终于找到了解决办法,于是赶紧记下来,不然过段时间可能又忘了呵呵,从而重蹈覆辙,浪费时间~问题是这样的:在插入 ...
- JAVAEE——spring02:使用注解配置spring、sts插件、junit整合测试和aop演示
一.使用注解配置spring 1.步骤 1.1 导包4+2+spring-aop 1.2 为主配置文件引入新的命名空间(约束) 1.3 开启使用注解代替配置文件 1.4 在类中使用注解完成配置 2.将 ...
- 将Win7系统将默认打开的库改为计算机