Azkaban单机版安装教程

461 阅读2分钟

前言

环境准备

  • MySQL数据库
  • JDK1.8

本次安装Azkaban版本

  • Azkaban-3.84.4

一、安装步骤

1、上传文件

(1)将安装包上传到服务器上

02.Azkaban单机版安装教程01.jpg

(2)创建目录,解压安装包到对应目录

[hadoop@hadoopserver local]$ mkdir azkaban
[hadoop@hadoopserver azkaban]$ tar -zxf azkaban-db-3.84.4.tar.gz -C /usr/local/azkaban/
[hadoop@hadoopserver azkaban]$ tar -zxf azkaban-exec-server-3.84.4.tar.gz -C /usr/local/azkaban/
[hadoop@hadoopserver azkaban]$ tar -zxf azkaban-web-server-3.84.4.tar.gz -C /usr/local/azkaban/

(3)修改解压后的文件夹名称

[hadoop@hadoopserver azkaban]$ mv azkaban-db-3.84.4/ azkaban-db
[hadoop@hadoopserver azkaban]$ mv azkaban-exec-server-3.84.4/ azkaban-exec
[hadoop@hadoopserver azkaban]$ mv azkaban-web-server-3.84.4/ azkaban-web

2、数据库操作

(1)登录MySQL,创建Azkaban数据库

[hadoop@hadoopserver azkaban]$ mysql -uroot -p
mysql> create database azkaban;
Query OK, 1 row affected (0.07 sec)

(2)在数据库中在创建一个Azkaban用户

mysql> create user 'azkaban'@'%' identified by 'azkaban';

注意:可能会报如下错误

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

数据库密码安全级别过高,可以通过如下命令降低安全级别

mysql> set global validate_password_length=4;
mysql> set global validate_password_policy=0;

(3)赋予用户权限

mysql> grant select,insert,update,delete on azkaban.* to 'azkaban'@'%' with grant option;

(4)将Azkaban使用的表导入到数据库

mysql> use azkaban;
mysql> source /usr/local/azkaban/azkaban-db/create-all-sql-3.84.4.sql

(5)修改max_allowed_packet参数配置

  • 查询原本数据库max_allowed_packet信息
mysql> show VARIABLES like '%max_allowed_packet%';
+---------------------------+------------+
| Variable_name             | Value      |
+---------------------------+------------+
| max_allowed_packet        | 67108864   |
| mysqlx_max_allowed_packet | 67108864   |
| slave_max_allowed_packet  | 1073741824 |
+---------------------------+------------+
3 rows in set (0.01 sec)
  • 修改配置文件/etc/my.cnf,增加如下配置
max_allowed_packet=1024M

(6)重启MySQL服务

systemctl restart mysqld
systemctl status mysqld

再次查询数据库max_allowed_packet信息,查看配置是否生效。

3、修改azkaban-exec配置

(1)修改azkaban-exec的conf目录下配置文件azkaban.properties

[hadoop@hadoopserver conf]$ pwd
/usr/local/azkaban/azkaban-exec/conf
[hadoop@hadoopserver conf]$ vim azkaban.properties

修改如下内

// 修改时区
default.timezone.id=Asia/Shanghai
//修改为自己的ip
azkaban.webserver.url=http://192.168.159.128:8081
mysql.port=3306
mysql.host=192.168.159.128
mysql.database=azkaban
mysql.user=azkaban
mysql.password=azkaban
#增加executor端口号
executor.port=12321

(2)修改commonprivate.properties配置文件

[hadoop@hadoopserver jobtypes]$ pwd
/usr/local/azkaban/azkaban-exec/plugins/jobtypes
[hadoop@hadoopserver jobtypes]$ vim commonprivate.properties
  • 在commonprivate.properties文件中增加以下配置
azkaban.native.lib=false

(3)启动azkaban execServer

[hadoop@hadoopserver azkaban-exec]$ pwd
/usr/local/azkaban/azkaban-exec
[hadoop@hadoopserver azkaban-exec]$ ./bin/start-exec.sh 
  • 执行完成之后可以通过jps命令查看进程

    [hadoop@hadoopserver azkaban-exec]$ jps
    34997 AzkabanExecutorServer
    35015 Jps
    

注意:如果启动成功,在azkaban-exec目录下会生成一个executor.port文件

02.Azkaban单机版安装教程02.jpg

(4)进入数据库查看相应信息

  • 使用用户azkaban登录mysql
[hadoop@hadoopserver azkaban]$ mysql -uazkaban -pazkaban
  • 查看表executors
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| azkaban            |
| information_schema |
+--------------------+
2 rows in set (0.00 sec)

mysql> use azkaban;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

mysql> select * from executors;
+----+--------------+-------+--------+
| id | host         | port  | active |
+----+--------------+-------+--------+
|  1 | hadoopserver | 12321 |      0 |
+----+--------------+-------+--------+
1 row in set (0.00 sec)
  • 激活hadoopserver账号

输入如下命令:

[hadoop@hadoopserver azkaban-exec]$ curl -G "hadoopserver:12321/executor?action=activate" && echo
{"status":"success"}
  • 再次查看表executors
mysql> select * from executors;
+----+--------------+-------+--------+
| id | host         | port  | active |
+----+--------------+-------+--------+
|  1 | hadoopserver | 12321 |      1 |
+----+--------------+-------+--------+
1 row in set (0.01 sec)

4、配置azkaban-web

(1)进入/conf目录,修改azkaban.properties文件配置

[hadoop@hadoopserver conf]$ pwd
/usr/local/azkaban/azkaban-web/conf 
[hadoop@hadoopserver conf]$ vim azkaban.properties
  • 修改如下配置
default.timezone.id=Asia/Shanghai
mysql.port=3306
mysql.host=192.168.159.128
mysql.database=azkaban
mysql.user=azkaban
mysql.password=azkaban
azkaban.executorselector.filters=StaticRemainingFlowSize,CpuStatus

(2)修改配置文件azkaban-users.xml

[hadoop@hadoopserver conf]$ pwd
/usr/local/azkaban/azkaban-web/conf
[hadoop@hadoopserver conf]$ vim azkaban-users.xml
  • 增加如下配置
<user password="123456" roles="admin" username="admin"/>

02.Azkaban单机版安装教程03.jpg

(3)启动azkaban-web服务

[hadoop@hadoopserver azkaban-web]$ pwd
/usr/local/azkaban/azkaban-web
[hadoop@hadoopserver azkaban-web]$ ./bin/start-web.sh 
  • 可以通过jps命令查看任务进程

(4)使用如下地址通过浏览器访问UI界面

http://192.168.159.128:8081/

02.Azkaban单机版安装教程04.jpg

输入用户名:admin,密码:123456即可进入。

二、采坑记录

  • 在启动azkaban execServer时输出的日志文件报如下错误

02.Azkaban单机版安装教程05.jpg

报错原因:数据库服务连接不成功。

因为本次使用的MySQL版本为8.0.23,Azkaban默认连接MySQL的驱动为5.1.28,出现连接驱动版本不匹配问题。

解决方法:将Azkaban中lib目录下的驱动更新到8.0.23版本即可(注意web服务也需要更新)。