Azkaban的安装教程
文章目录
- Azkaban的安装教程
- 写在前面
- 集群模式安装
- 下载安装包
- 上传 **tar** 包
- 解压
- 配置 **MySQL**
- 配置 **Executor Server**
- 编辑 azkaban.properties
- 同步 azkaban-exec到所有节点
- 启动 executor server
- 激活 executor
- **配置** **Web Server**
- 编辑 azkaban.properties
- 修改 azkaban-users.xml文件
- 启动 web server
- 前端访问
写在前面
- Linux版本:
CentOS7.5
- MySQL版本:
MySQL5.7
- Azkaban版本:
Azkaban-3.84.4
集群模式安装
下载安装包
- 下载地址:选择相对应的版本,下载azkaban-db、azkaban-exec-server、azkaban-web-server三个安装包
https://github.com/azkaban/azkaban/releases
上传 tar 包
- 将下载的 azkaban-db-3.84.4.tar.gz,azkaban-exec-server-3.84.4.tar.gz,azkaban-web-server-3.84.4.tar.gz上传到 node01的/opt/software路径
[whybigdata@node01 software]$ ll
总用量 35572
-rw-r--r--. 1 whybigdata whybigdata 3.84.4.tar.gz 6433 1月 18 17:24 azkaban-db-
-rw-r--r--. 1 whybigdata whybigdata 16175002 1月 18 17:26 azkaban-exec-server-3.84.4.tar.gz
-rw-r--r--. 1 whybigdata whybigdata 20239974 1月 18 17:26 azkaban-web-server-3.84.4.tar.gz
解压
- 新建/opt/module/azkaban-3.84.4目录,并将所有 tar包解压到这个目录下
[whybigdata@node01 software]$ mkdir /opt/module/azkaban-3.84.4
- 解压 azkaban-db-3.84.4.tar.gz、 azkaban-exec-server-3.84.4.tar.gz和 azkaban-web-server-3.84.4.tar.gz到/opt/module/azkaban目录下
[whybigdata@node01 software]$ tar -zxvf azkaban-db-3.84.4.tar.gz -C /opt/module/azkaban-3.84.4/
[whybigdata@node01 software]$ tar -zxvf azkaban-exec-server-3.84.4.tar.gz -C /opt/module/azkaban-3.84.4/
[whybigdata@node01 software]$ tar -zxvf azkaban-web-server-3.84.4.tar.gz -C /opt/module/azkaban-3.84.4/
- 进入到/opt/module/azkaban目录,依次修改名称
[whybigdata@node01 azkaban-3.84.4]$ mv azkaban-exec-server-3.84.4/ azkaban-exec
[whybigdata@node01 azkaban-3.84.4]$ mv azkaban-web-server-3.84.4/ azkaban-web
配置 MySQL
- 正常安装 MySQL
此处不演示
- 启动 MySQL
[whybigdata@node01 azkaban-3.84.4]$ mysql -uroot –p123456
- 登陆 MySQL,创建 Azkaban数据库
mysql> create database azkaban;
- 创建 azkaban用户并赋予权限
设置密码有效长度 4位及以上
mysql> set global validate_password_length=4;
注意:如果这里会报错的需要执行以下命令:
install plugin validate_password soname 'validate_password.so';
- 设置密码策略最低级别
mysql> set global validate_password_policy=0;
- 创建 Azkaban用户,任何主机都可以访问 Azkaban,密码是 123456
mysql> CREATE USER 'azkaban'@'%' IDENTIFIED BY '123456';
- 赋予 Azkaban用户增删改查权限
mysql> GRANT SELECT,INSERT,UPDATE,DELETE ON azkaban.* to 'azkaban'@'%' WITH GRANT OPTION;
- 创建 Azkaban表,完成后退出 MySQL
mysql> use azkaban;
mysql> source /opt/module/azkaban/azkaban-db-3.84.4/create-all-sql-3.84.4.sql
mysql> quit;
- 更改 MySQL包大小:防止 Azkaban连接 MySQL
阻塞
[whybigdata@node01 software]$ sudo vim /etc/my.cnf
在[mysqld]下面加一行 max_allowed_packet=1024M
[mysqld]
max_allowed_packet=1024M
- 重启 MySQL
[whybigdata@node01 software]$ sudo systemctl restart mysqld
配置 Executor Server
Azkaban Executor Server处理工作流和作业的实际执行。
编辑 azkaban.properties
[whybigdata@node01 azkaban]$ vim /opt/module/azkaban-3.84.4/azkaban-exec/conf/azkaban.properties
- 修改如下标红的属性
#...
default.timezone.id=Asia/Shanghai
#...
azkaban.webserver.url=http://node01:8081
executor.port=12321
#...
database.type=mysql
mysql.port=3306
mysql.host=node01
mysql.database=azkaban
mysql.user=azkaban
mysql.password=123456
mysql.numconnections=100
同步 azkaban-exec到所有节点
[whybigdata@node01 azkaban]$ xsync /opt/module/azkaban-3.84.4/azkaban-exec
启动 executor server
注意:必须进入到/opt/module/azkaban-3.84.4/azkaban-exec路径,分别在三台机器上,启动 executor server
[whybigdata@node01 azkaban-exec]$ bin/start-exec.sh
[whybigdata@node02 azkaban-exec]$ bin/start-exec.sh
[whybigdata@node03 azkaban-exec]$ bin/start-exec.sh
注意:如果在/opt/module/azkaban/azkaban-exec 目录下出现 executor.port 文件,说明启动成功
激活 executor
下面激活 executor,需要执行以下命令
[whybigdata@node01 azkaban-exec]$ curl -G "node01:12321/executor?action=activate" && echo
[whybigdata@node02 azkaban-exec]$ curl -G "node01:12321/executor?action=activate" && echo
[whybigdata@node03 azkaban-exec]$ curl -G "node01:12321/executor?action=activate" && echo
如果三台机器都出现如下提示,则表示激活成功
{"status":"success"}
配置 Web Server
Azkaban Web Server处理项目管理,身份验证,计划和执行触发。
编辑 azkaban.properties
[whybigdata@node01 azkaban]$ vim /opt/module/azkaban-3.84.4/azkaban-web/conf/azkaban.properties
- 修改如下属性
...
default.timezone.id=Asia/Shanghai
...
database.type=mysql
mysql.port=3306
mysql.host=node01
mysql.database=azkaban
mysql.user=azkaban
mysql.password=123456
mysql.numconnections=100
...
azkaban.executorselector.filters=StaticRemainingFlowSize,CpuStatus
解析说明:
#StaticRemainingFlowSize
:正在排队的任务数;#CpuStatus
:CPU占用情况#MinimumFreeMemory
:内存占用情况。测试环境,必须将 MinimumFreeMemory删除掉,否则它会认为集群资源不够,不执行。
修改 azkaban-users.xml文件
修改 azkaban-users.xml文件,添加 whybigdata用户
[whybigdata@node01 azkaban-web]$ vim /opt/module/azkaban/azkaban- web/conf/azkaban-users.xml
<azkaban-users>
<user groups="azkaban" password="azkaban" roles="admin" username="azkaban"/>
<user password="metrics" roles="metrics" username="metrics"/>
<user password="123456" roles="admin" username="whybigdata"/>
<role name="admin" permissions="ADMIN"/>
<role name="metrics" permissions="METRICS"/>
</azkaban-users>
<user password="123456" roles="admin" username="whybigdata"/>
即为添加用户whybigdata
启动 web server
注意:必须进入到 node01的/opt/module/azkaban-3.84.4/azkaban-web路径,启动 web server
[whybigdata@node01 azkaban-web]$ bin/start-web.sh
前端访问
访问 http://node01:8081,并用 whybigdata用户登陆