第 2 章 Azkaban 安装部署
步骤1: 准备安装包
假设你已经安装好了 Mysql. 选择 Mysql 作为 Azkaban 数据库,因为 Azkaban 建立了一些 Mysql 连接增强功能,以方便 Azkaban 设置,并增强服务可靠性
需要准备下面 3 个安装包:
- azkaban-web-server-2.5.0.tar.gz
- azkaban-executor-server-2.5.0.tar.gz
- azkaban-sql-script-2.5.0.tar.gz
步骤2: 分别解压前面的 3 个安装包
在 /opt/module
下创建目录azkaban
, 然后把 3 个安装包分别解压到azkaban
目录下.
tar -zxvf azkaban-executor-server-2.5.0.tar.gz -C /opt/module/azkaban
tar -zxvf azkaban-sql-script-2.5.0.tar.gz -C /opt/module/azkaban
tar -zxvf azkaban-web-server-2.5.0.tar.gz -C /opt/module/azkaban
为了方便访问, 对解压后的文件重命名:
mv azkaban-executor-2.5.0 executo
mv azkaban-web-2.5.0 server
mv azkaban-2.5.0 sql
步骤3: 在 mysql 中创建 azkaban 需要的表
进入 mysql, 创建数据库:azkaban
, 并创建需要的表
mysql> create database azkaban;
Query OK, 1 row affected (0.00 sec)
mysql> use azkaban;
Database changed
mysql> source /opt/module/azkaban/sql/create-all-sql-2.5.0.sql
Query OK, 0 rows affected (0.02 sec)
Query OK, 0 rows affected (0.00 sec)
...
步骤4: 生成秘钥库
使用 Java 提供的数据整数管理工具Keytool
来生成秘钥.
keytool -keystore keystore -alias lzc -genkey -keyalg RSA
输入密钥库口令:
密钥库口令太短 - 至少必须为 6 个字符
输入密钥库口令:
再次输入新口令:
您的名字与姓氏是什么?
[Unknown]:
您的组织单位名称是什么?
[Unknown]:
您的组织名称是什么?
[Unknown]:
您所在的城市或区域名称是什么?
[Unknown]:
您所在的省/市/自治区名称是什么?
[Unknown]:
该单位的双字母国家/地区代码是什么?
[Unknown]:
CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown是否正确?
[否]: y
输入 <lzc> 的密钥口令
(如果和密钥库口令相同, 按回车):
说明:
-keystore
指定密钥库的名称及位置(产生的各类信息将存在.keystore文件中)-genkey
在用户主目录中创建一个默认文件".keystore"
-alias
对我们生成的.keystore
进行指认别名;如果没有默认是mykey
keyalg
指定密钥的算法RSA/DSA
默认是DSA
注意:
- 这里的
keytool
是使用的 java 中的工具, 建议使用绝对路径.
步骤5: 统一时区和同步时间
步骤6: 配置 Web 服务器
1. web 服务器的属性配置
打开server/conf/azkaban.properties
文件, 然做如下配置:
#Azkaban Personalization Settings
azkaban.name=atguigu
azkaban.label=My Local Azkaban
azkaban.color=#FF3601
azkaban.default.servlet.path=/index
# 建议使用绝对路径
web.resource.dir=/opt/module/azkaban/server/web/
# 配置时区
default.timezone.id=Asia/Shanghai
#Azkaban UserManager class
user.manager.class=azkaban.user.XmlUserManager
# 用户权限管理文件
user.manager.xml.file=/opt/module/azkaban/server/conf/azkaban-users.xml
#Loader for projects
executor.global.properties=/opt/module/azkaban/server/conf/global.properties
# project 目录, 会自动创建
azkaban.project.dir=projects
database.type=mysql
mysql.port=3306
mysql.host=hadoop201
mysql.database=azkaban
mysql.user=root
mysql.password=aaa
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=/opt/module/azkaban/server/keystore
jetty.password=aaaaaa
jetty.keypassword=aaaaaa
jetty.truststore=/opt/module/azkaban/server/keystore
jetty.trustpassword=aaaaaa
# Azkaban Executor settings
executor.port=12321
# mail settings
mail.sender=
mail.host=
job.failure.email=
job.success.email=
lockdown.create.projects=false
cache.directory=cache
注意:
- 需要注意
keystore
的路径是否正确
2. 操作 web 服务器的用户配置
打开server/conf/azkaban-users.xml
文件, 增加管理员:
<azkaban-users>
<user username="azkaban" password="azkaban" roles="admin" groups="azkaban" />
<user username="metrics" password="metrics" roles="metrics"/>
<!-- 新增 admin 用户, 并且拥有两种角色 -->
<user username="admin" password="admin" roles="metrics,admin"/>
<role name="admin" permissions="ADMIN" />
<role name="metrics" permissions="METRICS"/>
</azkaban-users>
步骤7: 配置 executor 服务器
1. executor 服务器的属性配置
打开/opt/module/azkaban/executor/conf/azkaban.properties
文件, 做如下配置:
#Azkaban
default.timezone.id=Asia/Shanghai
# Azkaban JobTypes Plugins
azkaban.jobtype.plugin.dir=/opt/module/azkaban/executor/plugins/jobtypes
#Loader for projects
executor.global.properties=/opt/module/azkaban/executor/conf/global.properties
azkaban.project.dir=projects
database.type=mysql
mysql.port=3306
mysql.host=hadoop201
mysql.database=azkaban
mysql.user=root
mysql.password=aaa
mysql.numconnections=100
# Azkaban Executor settings
executor.maxThreads=50
executor.port=12321
executor.flow.threads=30
步骤8: 启动 executor 服务器
由于 web 服务器需要连接 executor 服务器, 所以需要先启动 executor 服务器
/opt/module/azkaban/executor/bin » ./azkaban-executor-start.sh
步骤9: 启动 web 服务器
/opt/module/azkaban/server/bin » ./azkaban-web-start.sh
步骤10: 查看服务进程是否启动成功
步骤11: 用浏览器登录 web 页面查看
访问地址: https://hadoop201:8443