文章目录
Azkaban2.5.0 安装
一、Azkaban 运行模式
Azkaban 有三个重要组件:
- 关系型数据库(目前仅支持MySQL)
- Web管理服务器-Azkaban Web Server
- 执行服务器-Azkaban Executor Server
Azkaban有三种运行模式:
- solo server mode:单机模式,数据库内置的H2数据库,管理服务器和执行服务器都在一个进程中运行,任务量不大的项目可以采用此模式。
- two server mode:数据库为 MySQL,管理服务器和执行服务器在不同进程,这种模式下,管理服务器和执行服务器互不影响。
- multiple executor mode:该模式下,执行服务器和管理服务器在不同主机上,且执行服务器可以有多个。
在这里我们使用第二种模式,管理服务器、执行服务器分进程,但在同一台主机上。
二、Azkaban2.5.0 安装详解
将安装文件上传到集群,最好上传到安装 Hive、Sqoop 的机器上,方便命令的执行。并最好放在同一个安装目录下,用于存放源安装文件。
2.1 下载安装包
下载地址: http://azkaban.github.io/downloads.html
版本号:
Azkaban Excutor 执行服务器:azkaban-executor-server-2.5.0.tar.gz
Azkaban Web 服务器:azkaban-web-server-2.5.0.tar.gz
Azkaban 初始化脚本文件:azkaban-sql-script-2.5.0.tar.gz
2.2 上传并解压
将 Azkaban 安装包上传到 Linux 服务器上,解压到相应目录下:
[tyhawk@master ~]$ mkdir azkaban-2.5.0
##将软件丢进去后开始解压
[tyhawk@master azkaban-2.5.0]$ tar -zxvf azkaban-executor-server-2.5.0.tar.gz
[tyhawk@master azkaban-2.5.0]$ tar -zxvf azkaban-web-server-2.5.0.tar
[tyhawk@master azkaban-2.5.0]$ tar -zxvf azkaban-sql-script-2.5.0.tar
[tyhawk@master azkaban-2.5.0]$ ll
total 22620
drwxrwxr-x. 2 tyhawk tyhawk 4096 Mar 27 10:15 azkaban-2.5.0
drwxrwxr-x. 7 tyhawk tyhawk 92 Mar 27 09:52 azkaban-executor-2.5.0
-rw-r--r--. 1 tyhawk tyhawk 11157302 Mar 27 09:39 azkaban-executor-server-2.5.0.tar.gz
-rw-r--r--. 1 tyhawk tyhawk 1928 Mar 27 09:39 azkaban-sql-script-2.5.0.tar.gz
drwxrwxr-x. 8 tyhawk tyhawk 103 Mar 27 10:15 azkaban-web-2.5.0
-rw-r--r--. 1 tyhawk tyhawk 11989669 Mar 27 09:39 azkaban-web-server-2.5.0.tar.gz
2.3 设置 MySQL 账户
## 为Azkaban创建数据库,其中数据库名字不一定是azkaban
mysql> CREATE DATABASE azkaban;
Query OK, 1 row affected (0.06 sec)
## 创建Azkaban数据库的用户,并为用户设置密码(我用的以前实验的HADOOP账号,故而示范一下)
mysql> CREATE USER 'hadoop'@'%' IDENTIFIED BY 'rootroot';
Query OK, 0 rows affected (0.29 sec)
## 增加shiny用户对azkaban数据库的所有权限
mysql> GRANT ALL ON azkaban.* TO 'hadoop'@'%' IDENTIFIED BY 'rootroot' WITH GRANT OPTION;
Query OK, 0 rows affected (0.26 sec)
## 刷新
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.12 sec)
2.4 将azkaban sql表结构导入MySQL
mysql> USE azkaban;
Database changed
##申明
mysql> SOURCE /home/tyhawk/azkaban-2.5.0/azkaban-2.5.0
/create-all-sql-2.5.0.sql;
2.5 创建 jetty ssl配置
进入Azkaban的安装目录:
[tyhawk@master ~]$ cd azkaban-2.5.0
[tyhawk@master azkaban-2.5.0]$ keytool -keystore keystore -alias jetty -genkey -keyalg RSA
运行此命令后,会提示输入当前生成 keystore 的密码及相应信息,输入的密码请劳记,信息如下:
[tyhawk@master azkaban-2.5.0]$ keytool -keystore keystore -alias jetty -genkey -keyalg RSA
Enter keystore password: ==设置密码(六位密码长度)123456==
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=CN, O=Unknown, L=Unknown, ST=Unknown, C=CN correct?
[no]: y ==yes确认==
Enter key password for <jetty>
(RETURN if same as keystore password): ==输入密码123456=
Re-enter new password: ==确认密码==
以上配置完成之后会在当前目录生成一个keystore文件。将 keystore 拷贝到 Azkaban Web 服务器目录中。
[tyhawk@master azkaban-2.5.0]$ ll
total 22620
drwxrwxr-x. 2 tyhawk tyhawk 4096 Mar 27 10:15 azkaban-2.5.0
drwxrwxr-x. 7 tyhawk tyhawk 92 Mar 27 09:52 azkaban-executor-2.5.0
-rw-r--r--. 1 tyhawk tyhawk 11157302 Mar 27 09:39 azkaban-executor-server-2.5.0.tar.gz
-rw-r--r--. 1 tyhawk tyhawk 1928 Mar 27 09:39 azkaban-sql-script-2.5.0.tar.gz
drwxrwxr-x. 8 tyhawk tyhawk 103 Mar 27 10:15 azkaban-web-2.5.0
-rw-r--r--. 1 tyhawk tyhawk 11989669 Mar 27 09:39 azkaban-web-server-2.5.0.tar.gz
-rw-rw-r--. 1 tyhawk tyhawk 2222 Mar 27 10:12 keystore
[tyhawk@master azkaban-2.5.0]$ cp keystore azkaban-web-2.5.0/
2.6 Azkaban Web 服务器配置
2.6.1 修改配置文件 azkaban.properties
进入 Azkaban Web 服务器安装目录 conf 目录下:
[tyhawk@master azkaban-2.5.0]$ cp keystore azkaban-web-2.5.0/
[tyhawk@master azkaban-2.5.0]$ cd /conf
[tyhawk@master conf]$ vim azkaban.properties
#Azkaban Personalization Settings
azkaban.name=Test
azkaban.label=My Local Azkaban
azkaban.color=#FF3601
azkaban.default.servlet.path=/index
web.resource.dir=web/
default.timezone.id=Asia/Shanghai ==默认时区,改为中国上海.默认美国洛杉矶==
#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=master ==数据库连接Ip==
mysql.database=azkaban ==数据库名==
mysql.user=hadoop ==数据库用户名==
mysql.password=rootroot ==数据库密码==
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
jetty.password=123456 ==SSL文件密码==
jetty.keypassword=123456 ==Jetty主密码与keystore文件相同==
jetty.truststore=keystore
jetty.trustpassword=123456 ==SSK文件密码==
# 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
2.6.2 用户配置 azkaban-users.xml
进入 Azkaban Web 服务器安装目录 conf 目录下:
[tyhawk@master conf]$ pwd
/home/tyhawk/azkaban-2.5.0/azkaban-web-2.5.0/conf
[tyhawk@master conf]$ vi 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>
~
2.7 Azkaban executor 执行服务器配置
进入Azkaban executor执行服务器目录 conf 目录下修改azkaban.properties配置文件:
[tyhawk@master conf]$ pwd
/home/tyhawk/azkaban-2.5.0/azkaban-executor-2.5.0/conf
[tyhawk@master conf]$ vi 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=master ==登陆主机==
mysql.database=azkaban ==登陆数据库==
mysql.user=hadoop ==登陆数据库用户==
mysql.password=rootroot ==数据库用户密码==
mysql.numconnections=100
# Azkaban Executor settings
executor.maxThreads=50
executor.port=12321
executor.flow.threads=30
~
2.8 启动 Azkaban Web 服务器
在 Azkaban Web 服务器目录下执行启动命令:
[tyhawk@master azkaban-web-2.5.0]$ pwd
/home/tyhawk/azkaban-2.5.0/azkaban-web-2.5.0
[tyhawk@master azkaban-web-2.5.0]$ bin/azkaban-web-start.sh
...................
........
yServer registered.
2019/03/27 11:34:18.954 +0800 INFO [AzkabanWebServer] [Azkaban] Bean azkaban.jmx.JmxTriggerManager registered.
2019/03/27 11:34:18.959 +0800 INFO [AzkabanWebServer] [Azkaban] Bean azkaban.jmx.JmxExecutorManager registered.
2019/03/27 11:34:18.962 +0800 INFO [AzkabanWebServer] [Azkaban] Setting up web resource dir web/
2019/03/27 11:34:19.053 +0800 INFO [JdbcTriggerLoader] [Azkaban] Loading all triggers from db.
2019/03/27 11:34:19.092 +0800 INFO [JdbcTriggerLoader] [Azkaban] Loaded 0 triggers.
2019/03/27 11:34:19.094 +0800 INFO [log] [Azkaban] jetty-6.1.26
2019/03/27 11:34:19.427 +0800 INFO [log] [Azkaban] Started SslSocketConnector@0.0.0.0:8443
2019/03/27 11:34:19.428 +0800 INFO [AzkabanWebServer] [Azkaban] Server running on ssl port 8443.
2.9 启动 Azkaban executor 执行服务器
另外开启一个终端,在Azkaban executor 执行服务器目录下执行启动命令:
[tyhawk@master azkaban-executor-2.5.0]$ pwd
/home/tyhawk/azkaban-2.5.0/azkaban-executor-2.5.0
[tyhawk@master azkaban-executor-2.5.0]$ bin/azkabanan-executor-start.sh
...............
..............
2019/03/27 11:23:27.489 +0800 INFO [FlowRunnerManager] [Azkaban] Cleaning recently finished
2019/03/27 11:23:27.490 +0800 INFO [FlowRunnerManager] [Azkaban] Cleaning old projects
2019/03/27 11:23:27.490 +0800 INFO [FlowRunnerManager] [Azkaban] Cleaning old execution dirs
2019/03/27 11:23:27.502 +0800 INFO [AzkabanExecutorServer] [Azkaban] Registering MBeans...
2019/03/27 11:23:27.523 +0800 INFO [AzkabanExecutorServer] [Azkaban] Bean azkaban.jmx.JmxJettyServer registered.
2019/03/27 11:23:27.536 +0800 INFO [AzkabanExecutorServer] [Azkaban] Bean azkaban.jmx.JmxFlowRunnerManager registered.
2019/03/27 11:23:27.536 +0800 INFO [log] [Azkaban] jetty-6.1.26
2019/03/27 11:23:27.595 +0800 INFO [log] [Azkaban] Started SocketConnector@0.0.0.0:12321
2019/03/27 11:23:27.596 +0800 INFO [AzkabanExecutorServer] [Azkaban] Azkaban Executor Server started on port 12321
三、验证
启动完成后,在浏览器中输入https://服务器IP地址:8443 ,即可访问
Azkaban 服务了。在登录中输入管理员用户名及密码,点击 Login。
主页信息:
如果能够看到Azkaban的主页,就说明你已经将Azkaban安装成功了,congratulations!!!