用最短的时间学会使用Azkaban来管理我们的任务
学会使用Azkaban来管理我们的任务
Azkaban是什么:
Azkaban是由Linkedin公司推出的一个批量工作流任务调度器,用于在一个工作流内以一个特定的顺序运行一组工作和流程。Azkaban使用job配置文件建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。
default-character-set=utf8
default-character-set=utf8
init_connect='SET NAMES utf8'
[[email protected] ~]# mysql -uroot -p
mysql> show variables like 'character%';
[[email protected] conf]$ vim azkaban.properties
修改如下内容
#默认时区,已改为亚洲/上海 默认为美国
default.timezone.id=Asia/Shanghai
#数据库连接IP
mysql.host=master
What is your first and last name? 您的名字与姓氏是什么?
[Unknown]: jetty.mortbay.org
What is the name of your organizational unit?您的组织单位名称是什么?
[Unknown]: Jetty
What is the name of your organization?您的组织名称是什么?
[Unknown]: Mort Bay Consulting Pty. Ltd.
What is the name of your City or Locality?您所在的城市或区域名称是什么?
[Unknown]:
What is the name of your State or Province?您所在的州或省份名称是什么?
[Unknown]:
What is the two-letter country code for this unit?该单位的两字母国家代码是什么
[Unknown]:
Is CN=jetty.mortbay.org, OU=Jetty, O=Mort Bay Consulting Pty. Ltd.,
L=Unknown, ST=Unknown, C=Unknown correct?正确吗?
[no]: yes
Enter key password for <jetty>
(RETURN if same as keystore password): password
[[email protected] ~]$ cp keystore azkaban/azkaban-web-2.5.0/
启动Azkaban:
web服务器:
[[email protected] azkaban-web-2.5.0]$ bin/azkaban-web-start.sh ./
执行服务器:
[[email protected] azkaban-executor-2.5.0]$ bin/azkaban-executor-start.sh ./
验证:
启动完成后,在浏览器中输入https://服务器IP地址:8443 ,即可访问azkaban服务了
使用配置文件中的用户名和密码登陆,即admin admin
好了,如果登陆成功就说明我们对Azkaban的配置以及完成了,接下来我们就可以开始使用Azkaban来管理我们的MapReduce任务了:
我们编写两个.job结尾的文本文件:
a.job文件内容如下:
# a.job
type=command
command=echo "Hello World!"
b.job文件内容如下:
# b.job
type=command
dependencies=a
command=echo I'm fine
把需要运行的两个job放在同一个文件下面打成.zip格式的包,注意 Azkaban目前只支持.zip格式
Azkaban页面操作:
网址https://master:8443 注意:master是自己主机的ip地址或者主机名映射
创建一个工程:登陆后点击右上角的create project
添加job:点击右上角的upload,然后将自己的job.zip压缩包上传
执行job:选择我们要执行的job,然后点击execute
查看job执行情况:
绿色代表成功,蓝色是运行,红色是失败。可以查看job运行时间,依赖和日志,点击details可以查看各个job运行情况