1.环境准备
Mysql数据库:mysql5.6
JDK:jdk1.8
2.需要软件
Azkaban source:https://github.com/azkaban/azkaban
Azkaban plugins source:https://github.com/azkaban/azkaban-plugins
doc:https://azkaban.github.io/azkaban/docs/2.5/
下载地址:https://pan.baidu.com/s/1LGmDwpzs2F9mA2qJmI8dtA
azkaban-executor-server-2.5.0.tar.gz
azkaban-sql-script-2.5.0.tar.gz
azkaban-web-server-2.5.0.tar.gz
3.初始化Mysql数据库
解压azkaban-sql-script-2.5.0.tar.gz
tar -zxvf azkaban-sql-script-2.5.0.tar.gz
登录数据库
mysql -uroot -p
创建数据库
create database azkaban;
切换数据库:
use azkaban;
初始化数据库
source /data/app/azkaban/azkaban-2.5.0/create-all-sql-2.5.0.sql
4.安装azkaban-web
1)解压azkaban-web-server-2.5.0.tar.gz
tar -zxvf azkaban-web-server-2.5.0.tar.gz
2)生成keystore文件
在/data/app/azkaban/azkaban-web-2.5.0目录下生成keystore文件
keytool -keystore keystore -alias jetty -genkey -keyalg RSA
Enter keystore password: (输入azkaban)
Re-enter new password: (输入azkaban)
What is your first and last name?
[Unknown]:
What is the name of your organizational unit?
[Unknown]:
What is the name of your organization?
[Unknown]:
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]: CN
Is CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=CN correct?
[no]: y
Enter key password for <jetty>
(RETURN if same as keystore password): (回车)
Warning:
The JKS keystore uses a proprietary format. It is recommended to migrate to PKCS12 which is an industry standard format using "keytool -importkeystore -srckeystore keystore -destkeystore keystore -deststoretype pkcs12".
3)配置azkaban.properties
切换到conf目录
cd azkaban-web-2.5.0/conf/
编辑azkaban.properties
vim azkaban.properties
修改下方有注解的配置
#Azkaban Personalization Settings
azkaban.name=Test #服务器UI名称,用于服务器上方显示的名字
azkaban.label=My Local Azkaban
azkaban.color=#FF3601
azkaban.default.servlet.path=/index
web.resource.dir=web/
default.timezone.id=Asia/Shanghai # 修改时区设置timezone为亚洲/上海
#Azkaban UserManager class
user.manager.class=azkaban.user.XmlUserManager
user.manager.xml.file=conf/azkaban-users.xml
#Loader for projects
executor.global.properties=conf/global.properties
azkaban.project.dir=projects
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
# Azkaban Jetty server properties.
jetty.maxThreads=25
jetty.ssl.port=8443
jetty.port=8081
jetty.keystore=keystore #SSL文件名
jetty.password=azkaban #SSL文件密码
jetty.keypassword=azkaban #Jetty主密码 与 keystore文件相同
jetty.truststore=keystore #SSL文件名
jetty.trustpassword=azkaban # SSL文件密码
# Azkaban Executor settings
executor.port=12321 #执行服务器端口
# mail settings
mail.sender=XXXX@163.com #发送邮箱
mail.host=smtp.163.com #发送邮箱smtp地址
job.failure.email=XXXX@163.com #任务失败时发送邮件的地址
job.success.email=XXXX@163.com #任务成功时发送邮件的地址
lockdown.create.projects=false
cache.directory=cache
4)用户配置
修改azkaban-users.xml,增加管理员用户admin
vim azkaban-users.xml
<azkaban-users>
<user username="azkaban" password="azkaban" roles="admin" groups="azkaban" />
<user username="metrics" password="metrics" roles="metrics"/>
<user username="admin" password="admin" roles="admin,metrics" />
<role name="admin" permissions="ADMIN" />
<role name="metrics" permissions="METRICS"/>
</azkaban-users>
5.安装azkaban-executor
1)解压azkaban-web-server-2.5.0.tar.gz
tar -zxvf azkaban-executor-server-2.5.0.tar.gz
2)修改azkaban.properties文件配置
切换到conf目录
cd azkaban-executor-2.5.0/conf/
编辑azkaban.properties
vim azkaban.properties
修改下方有注解的配置
#Azkaban
default.timezone.id=Asia/Shanghai #时区
# Azkaban JobTypes Plugins
azkaban.jobtype.plugin.dir=plugins/jobtypes
#Loader for projects
executor.global.properties=conf/global.properties
azkaban.project.dir=projects
database.type=mysql
mysql.port=3306 #数据库端口号
mysql.host=localhost #数据库IP地址
mysql.database=azkaban #数据库实例名
mysql.user=root #数据库用户名
mysql.password=root #数据库密码
mysql.numconnections=100 #最大连接数
# Azkaban Executor settings
executor.maxThreads=50
executor.port=12321
executor.flow.threads=30
6.启动
1)azkaban-web启动
在azkaban web服务器目录下执行启动命令
nohup /bin/start-web.sh 1>/tmp/azstd.out 2>/tmp/azerr.out &
2)安装azkaban-executor
在执行服务器目录下执行启动命令
bin/start-exec.sh
3)访问
启动完成后,在浏览器(建议使用谷歌浏览器)中输入https://服务器IP地址:8443 ,即可访问azkaban服务了.在登录中输入刚才新的户用名及密码,点击 login.
输入用户名密码登入系统
7.简单案例
1)job的创建
创建job很简单,只要创建一个以.job结尾的文本文件就行了,本次创建一个工作,用来打印hello,名字叫做command.job
#command.job
type=command
command=echo 'hello'
2)将 job 资源文件打包
3)创建一个工程,填写名称和描述
4)通过 azkaban web 管理平台上传压缩包
配置执行任务
点击立即运行
查看执行结果