AZKABAN-任务调度安装手册
目 录
第1章 概述
1.1 目的
Azkaban是由Linkedin公司推出的一个批量工作流任务调度器,用于在一个工作流内以一个特定的顺序运行一组工作和流程。Azkaban使用job配置文件建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流
第2章 安装
2.1 准备工作
Ø Linux服务器
本文使用CentOS 6.5进行安装。
Ø root账户
使用root账户安装。
2.2 安装
1. 新建azkaban目录,用于安置azkaban程序
命令:mkdir /opt/apps/azkaban 注:此目录仅供参考
2. 进入新建目录
a) 命令:cd /opt/apps/azkaban
b) 上传:上传azkaban压缩包到该目录下
a) azkaban-web-server-2.5.0.tar.gz
b) azkaban-executor-server-2.5.0.tar.gz
c) azkaban-sql-script-2.5.0.tar.gz
c) 解压: 解压azkaban web服务器
a) tar -zxvf azkaban-web-server-2.5.0.tar.gz
b) 重命名上面解压的文件夹
c) mv azkaban-web-2.5.0 webserver
d) 解压: 解压azkaban 执行服务器
a) tar -zxvfazkaban-executor-server-2.5.0.tar.gz
b) 重命名上面解压的文件夹
c) mv azkaban-executor-2.5.0 executor
e) 解压: 解压azkaban-sql-script-2.5.0.tar.gz
a) tar -zxvf azkaban-sql-script-2.5.0.tar.gz
b) 进入mysql mysql-u**** -p****
c) 将脚本create-all-sql-2.5.0.sql 导入到mysql中
d) mysql> create database azkaban;
e) mysql> use azkaban
f) mysql> source /opt/apps/azkaban/create-all-sql-2.5.0.sql
2.3 配置
2.3.1 创建SSL配置
命令:keytool -keystore keystore -alias jetty -genkey -keyalgRSA
输入keystore密码:
再次输入新密码:
您的名字与姓氏是什么?
[Unknown]: (随意写)
您的组织单位名称是什么?
[Unknown]: (随意写)
您的组织名称是什么?
[Unknown]: (随意写)
您所在的城市或区域名称是什么?
[Unknown]: (随意写)
您所在的州或省份名称是什么?
[Unknown]: (随意写)
该单位的两字母国家代码是什么
[Unknown]: CN (必须是CN)
CN=Unknown,OU=Unknown,O=Unknown,L=Unknown,ST=Unknown, C=CN 正确吗?
[否]: y
输入<jetty>的主密码
(如果和 keystore 密码相同,按回车):
再次输入新密码:
完成上述工作后,将在当前目录生成 keystore 证书文件,将keystore 考贝到 azkaban web服务器根目录中.如:cp keystore /opt/apps/azkaban/webserver
2.3.1.1 修改时区
可先date查看
如果不是 用交互式命令 tzselect 即可
先生成,时区配置文件Asia/Shanghai
Sudo cp/usr/share/zoneinfo/Asia/Shanghai /etc/localtime
2.3.1.2 Azkaban web配置
进入azkabanweb服务器安装目录conf目录 修改azkaban.properties文件
命令vi azkaban.properties 红色为修改
内容说明如下:
#Azkaban Personalization Settings
default.timezone.id=Asia/Shanghai #默认时区,已改为亚洲/上海 默认为美国
database.type=mysql #数据库类型
mysql.port=3306 #端口号
mysql.host=localhost #数据库连接IP
mysql.database=azkaban #数据库实例名
mysql.user=root #数据库用户名
mysql.password=root #数据库密码
mysql.numconnections=100 #最大连接数
# Velocity dev mode
velocity.dev.mode=false
# Jetty服务器属性.
jetty.maxThreads=25 #最大线程数
jetty.ssl.port=8443 #Jetty SSL端口
jetty.port=8081 #Jetty端口
jetty.keystore=keystore #SSL文件名
jetty.password=123456 #SSL文件密码
jetty.keypassword=123456 #Jetty主密码 与keystore文件相同
jetty.truststore=keystore #SSL文件名
jetty.trustpassword=123456 # SSL文件密码
# 执行服务器属性
executor.port=12321 #执行服务器端口
#邮箱设置 以163邮箱为例
mail.sender=xxxxxxxx@163.com #发送邮箱
mail.host=smtp.163.com #发送邮箱smtp地址
mail.user=xxxxxxxx #发送邮件时显示的名称
mail.password=********** #邮箱密码
job.failure.email=xxxxxxxx@163.com #任务失败时发送邮件的地址
job.success.email=xxxxxxxx@163.com #任务成功时发送邮件的地址
lockdown.create.projects=false #
cache.directory=cache #缓存目录
2.3.1.3 Azkaban用户配置
进入azkaban web服务器conf目录,修改azkaban-users.xml
vi azkaban-users.xml 增加 管理员用户
<azkaban-users>
<user username="azkaban" password="azkaban"roles="admin" groups="azkaban" />
<user username="metrics" password="metricsroles="metrics"/>
<user username="admin"password="admin" roles="admin,metrics" /> #增加的用户
<role name="admin" permissions="ADMIN" />
<role name="metrics" permissions="METRICS"/>
</azkaban-users>
2.3.1.4 Azkaban executor配置
进入执行服务器安装目录conf,修改azkaban.properties
vi azkaban.properties
#Azkaban
default.timezone.id=Asia/Shanghai #时区
# Azkaban JobTypes 插件配置
azkaban.jobtype.plugin.dir=plugins/jobtypes #jobtype插件所在位置
#Loader for projects
executor.global.properties=conf/global.properties
azkaban.project.dir=projects #数据库设置
database.type=mysql #数据库类型(目前只支持mysql)
mysql.port=3306 #数据库端口号
mysql.host=192.168.20.200 #数据库IP地址
mysql.database=azkaban #数据库实例名
mysql.user=azkaban #数据库用户名 mysql.password=oracle #数据库密码 mysql.numconnections=100 #最大连接数
# 执行服务器配置
executor.maxThreads=50 #最大线程数 executor.port=12321 #端口号(如修改,请与web服务中一致) executor.flow.threads=30 #线程数
2.3.2启动azkaban服务
web服务器
在web服务器目录下执行启动命令到后台
nohupbin/azkaban-web-start.sh 1>/dev/null 2>/dev/null &
执行服务器
在执行服务器目录下执行启动命令
nohupbin/azkaban-executor-start.sh 1>/dev/null 2>/dev/null &
启动完成后,在浏览器(建议使用谷歌浏览器)中输入https://ip或主机名:8443 ,即可访问azkaban服务了.在登录中输入刚才新的户用名及密码,点击 login.
第3章 参考资料
参考文献说明一般包括:编号、名称、作者、版本号、出版/发布时间。
- 完毕 -