安装包:
azkaban-executor-server-2.5.0.tar.gz
azkaban-web-server-2.5.0.tar.gz
azkaban-sql-script-2.5.0.tar.gz
azkaban-jobtype-2.5.0.tar.gz
1 配置MySql
目前 Azkaban 只支持 MySql ,故需安装 MySql 服务器,创建 azkaban 数据库,并创建 azkaban 用户,密码为 azkaban,并设置权限。
# Example database creation command, although the db name doesn‘t need to be ‘azkaban‘
mysql> CREATE DATABASE azkaban;
# Example database creation command. The user name doesn‘t need to be ‘azkaban‘
mysql> CREATE USER ‘azkaban‘@‘%‘ IDENTIFIED BY ‘azkaban‘;
# Replace db, username with the ones created by the previous steps.
mysql> GRANT SELECT,INSERT,UPDATE,DELETE ON azkaban.* to ‘azkaban‘@‘%‘ WITH GRANT OPTION;
解压缩 azkaban-sql-2.5.0.tar.gz文件,并进入到 azkaban-sql-script目录,然后进入 mysql 命令行模式:
$ mysql -uazkaban -pazkaban
mysql> use azkaban
mysql> source create-all-sql-2.5.0.sql
2 安装 azkaban-web-server
解压缩 azkaban-web-server-2.5.0.tar.gz,创建 SSL 配置,命令:keytool -keystore keystore -alias jetty -genkey -keyalg RSA
完成上述工作后,将在当前目录生成 keystore 证书文件,将 keystore 考贝到 azkaban web 目录中
修改 azkaban web 服务器配置,主要包括:
a. 修改时区和首页名称:
# Azkaban Personalization Settings
azkaban.name=ETL Task
azkaban.label=By BI
azkaban.color=#FF3601
azkaban.default.servlet.path=/index
web.resource.dir=web/
default.timezone.id=Asia/Shanghai
b. 修改 MySql 数据库配置
database.type=mysql
mysql.port=3306
mysql.host=localhost
mysql.database=azkaban
mysql.user=azkaban
mysql.password=azkaban
mysql.numconnections=100
c. 修改 Jetty 服务器属性,包括 keystore 的相关配置
# Azkaban Jetty server properties.
jetty.hostname=0.0.0.0
jetty.maxThreads=25
jetty.ssl.port=8443
jetty.port=8081
jetty.keystore=keystore
jetty.password=redhat
jetty.keypassword=redhat
jetty.truststore=keystore
jetty.trustpassword=redhat
d. 修改邮件设置(可选)
# mail settings
[email protected]
mail.host=javachen.com
mail.user=admin
mail.password=admin
3 安装 azkaban-executor-server
解压缩 azkaban-executor-server-2.5.0.tar.gz,然后修改配置文件,包括:
a. 修改时区为:default.timezone.id=Asia/Shanghai
b. 修改 MySql 数据库配置
database.type=mysql
mysql.port=3306
mysql.host=localhost
mysql.database=azkaban
mysql.user=azkaban
mysql.password=azkaban
mysql.numconnections=100
4 用户设置
进入 azkaban web 服务器 conf 目录,修改 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-web-server,需要在 azkaban-web-server 目录下执行下面命令:
sh bin/azkaban-web-start.sh
azkaban-executor-server,需要在 azkaban-executor-server 目录下执行下面命令:
sh bin/azkaban-executor-start.sh
6 调试sqoop调度任务
创建两个文件:sqoop.job和sqoop.sh
sqoop.job文件内容如下:
# sqoop.job
type=command
command=sh sqoop.sh
sqoop.sh文件内容如下:
#!/bin/bash
hdfs dfs -rm -r /user/cloud/WF_JOBS
sqoop-import --connect jdbc:mysql://120.132.117.159:33306/oozie --username inputuser --password inputpass --table WF_JOBS
之后许将这两个文件打包成sqoop.zip(azkaban所需的文件格式),在页面中完成调度,地址为:https://hostname:8443
注意,如果有多个job存在依赖,则需要将多个job打进一个zip压缩包中。