说明:
[hadoop@hadoop01 ~]$ mkdir -p /home/hadoop/apps/azkaban
[hadoop@hadoop01 ~]$ tar -zxvf azkaban-executor-server-2.5.0.tar.gz -C /home/hadoop/apps/azkaban
[hadoop@hadoop01 ~]$ tar -zxvf azkaban-sql-script-2.5.0.tar.gz -C /home/hadoop/apps/azkaban
[hadoop@hadoop01 ~]$ tar -zxvf azkaban-web-server-2.5.0.tar.gz -C /home/hadoop/apps/azkaban
解压后apps下的目录结构如下所示:
[hadoop@hadoop01 apps]$ ll
total 24
drwxrwxr-x 5 hadoop hadoop 4096 Dec 23 13:40 azkaban
drwxr-xr-x 10 hadoop hadoop 4096 Nov 27 18:47 hadoop-2.6.5
drwxrwxr-x 10 hadoop hadoop 4096 Dec 8 14:41 hive-1.2.1
drwxr-xr-x 9 hadoop hadoop 4096 Apr 27 2015 sqoop-1.4.6
drwxr-xr-x 10 hadoop hadoop 4096 Mar 23 2017 zookeeper-3.4.10
[hadoop@hadoop01 apps]$ cd azkaban/
[hadoop@hadoop01 azkaban]$ ll
total 12
drwxrwxr-x 2 hadoop hadoop 4096 Dec 23 13:22 azkaban-2.5.0
drwxrwxr-x 7 hadoop hadoop 4096 Dec 23 13:22 azkaban-executor-2.5.0
drwxrwxr-x 8 hadoop hadoop 4096 Dec 23 13:22 azkaban-web-2.5.0
[hadoop@hadoop01 ~]$ mysql -uroot -proot
mysql> create database azkaban;
mysql> use azkaban;
mysql> source /home/hadoop/apps/azkaban/azkaban-2.5.0/create-all-sql-2.5.0.sql;
# 执行以下命令,最好在azkaban目录下
[hadoop@hadoop01 azkaban]$ keytool -keystore keystore -alias jetty -genkey -keyalg RSA
Enter keystore password: # 一定要记住你输入的密码
Re-enter new password: # 重复输入密码
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 # 输入CN
Is CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=CN correct?
[no]: y # 输入y
Enter key password for <jetty>
(RETURN if same as keystore password): # 输入上面的密码
Re-enter new password: # 输入上面的密码
上诉过程执行完成后,在azkaban目录下生成了keystore证书文件
[hadoop@hadoop01 azkaban]$ cp keystore ./azkaban-web-2.5.0/
参考Linux集群系统时间同步中的修改时区相关的内容
[hadoop@hadoop01 azkaban]$ cd azkaban-web-2.5.0/
[hadoop@hadoop01 azkaban-web-2.5.0]$ cd conf/
# Azkaban Personalization Settings
# 服务器UI名称,用于服务器上方显示的名字
azkaban.name=MyTestAzkaban
# 描述
azkaban.label=My Local Azkaban
# UI颜色
azkaban.color=#FF3601
azkaban.default.servlet.path=/index
# 默认根web目录
web.resource.dir=/home/hadoop/apps/azkaban/azkaban-web-2.5.0/web/
# 默认时区,已改为亚洲/上海,默认为美国
default.timezone.id=Asia/Shanghai
# Azkaban UserManager class
# 用户权限管理默认类
user.manager.class=azkaban.user.XmlUserManager
# 用户配置,具体配置参考下一个步骤中说明
user.manager.xml.file=/home/hadoop/apps/azkaban/azkaban-web-2.5.0/conf/azkaban-users.xml
# Loader for projects
# global 配置文件所在位置
executor.global.properties=/home/hadoop/apps/azkaban/azkaban-executor-2.5.0/conf/global.properties
azkaban.project.dir=projects
# 数据库类型
database.type=mysql
# 端口号
mysql.port=3306
# 数据库连接IP
mysql.host=hadoop01
# 数据库实例名
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端口
jetty.ssl.port=8443
# Jetty端口
jetty.port=8081
# SSL文件名
jetty.keystore=/home/hadoop/apps/azkaban/azkaban-web-2.5.0/keystore
# SSL文件密码(生成keystore文件时输入的密码)
jetty.password=hadoop
# Jetty主密码(生成keystore文件时输入的密码)
jetty.keypassword=hadoop
# SSL文件名
jetty.truststore=/home/hadoop/apps/azkaban/azkaban-web-2.5.0/keystore
# SSL文件密码(生成keystore文件时输入的密码)
jetty.trustpassword=hadoop
# 执行服务器属性
# 执行服务器端口
executor.port=12321
# 邮件设置(可选项)
# 发送邮箱
# mail.sender=xxxxxxxx@163.com
# 发送邮箱smtp地址
# mail.host=smtp.163.com
# 发送邮件时显示的名称
# mail.user=xxxxxxxx
# 邮箱密码
# mail.password=**********
# 任务失败时发送邮件的地址
# job.failure.email=xxxxxxxx@163.com
# 任务成功时发送邮件的地址
# job.success.email=xxxxxxxx@163.com
# lockdown.create.projects=false
# 缓存目录
# cache.directory=cache
[hadoop@hadoop01 conf]$ vim azkaban-users.xml
<azkaban-users>
<user username="azkaban" password="azkaban" roles="admin" groups="azkaban" />
<user username="metrics" password="metrics" roles="metrics"/>
<!--增加管理员用户 begin-->
<user username="admin" password="admin" roles="admin,metrics" />
<!--增加管理员用户 end-->
<role name="admin" permissions="ADMIN" />
<role name="metrics" permissions="METRICS"/>
</azkaban-users>
[hadoop@hadoop01 azkaban]$ cd azkaban-executor-2.5.0/
[hadoop@hadoop01 azkaban-executor-2.5.0]$ cd conf/
[hadoop@hadoop01 conf]$ vim azkaban.properties
# Azkaban
# 时区
default.timezone.id=Asia/Shanghai
# Azkaban JobTypes插件配置,插件所在位置
azkaban.jobtype.plugin.dir=/home/hadoop/apps/azkaban/azkaban-executor-2.5.0/plugins/jobtypes
# Loader for projects
executor.global.properties=/home/hadoop/apps/azkaban/azkaban-executor-2.5.0/conf/global.properties
azkaban.project.dir=projects
# 数据库设置
# 数据库类型(目前只支持 mysql)
database.type=mysql
# 数据库端口号
mysql.port=3306
# 数据库IP地址
mysql.host=hadoop01
# 数据库实例名
mysql.database=azkaban
# 数据库用户名
mysql.user=root
# 数据库密码
mysql.password=root
# 最大连接数
mysql.numconnections=100
# 执行服务器配置
# 最大线程数
executor.maxThreads=50
# 端口号(如修改,请与web服务中一致)
executor.port=12321
# 线程数
executor.flow.threads=30
export AZKABAN_WEB_HOME=/home/hadoop/apps/azkaban/azkaban-web-2.5.0
export AZKABAN_EXECUTOR_HOME=/home/hadoop/apps/azkaban/azkaban-executor-2.5.0
export PATH=$PATH:$AZKABAN_WEB_HOME/bin:$AZKABAN_EXECUTOR_HOME/bin
azkaban-web-start.sh
# 或者启动为后台守护线程
nohup azkaban-web-start.sh 1>/home/hadoop/azwebstd.out 2>/home/hadoop/azweberr.out &
azkaban-executor-start.sh
# 或者启动为后台守护线程
nohup azkaban-executor-start.sh 1>/home/hadoop/azexstd.out 2>/home/hadoop/azexerr.out &
在浏览器中访问https://hadoop01:8443
注意:
hadoop01:8443
,使用的是http协议,所以一定要手动输入https://hadoop01:8443
如果可以成功访问,说明azkaban安装成功!
1. 所有的配置文件每一行的末尾都不要有空格
2. mysql数据库一定要允许被远程连接