Azkaban部署与使用
集群模式安装
将azkaban-db-3.84.4.tar.gz,azkaban-exec-server-3.84.4.tar.gz,azkaban-web-server-3.84.4.tar.gz上传到/opt/azkaban目录下
总用量 35572
-rw-r--r-- 1 root root 6433 6月 23 11:31 azkaban-db-3.84.4.tar.gz
-rw-r--r-- 1 root root 16175002 6月 23 11:31 azkaban-exec-server-3.84.4.tar.gz
-rw-r--r-- 1 root root 20239974 6月 23 11:31 azkaban-web-server-3.84.4.tar.gz
将所有的tar包解压到azkaban目录下,(改名azkaban-db、azkaban-exec、azkaban-web)。
drwxr-xr-x 2 root root 4096 4月 18 2020 azkaban-db
drwxr-xr-x 6 root root 68 6月 23 15:03 azkaban-exec
drwxr-xr-x 8 root root 129 6月 23 15:26 azkaban-web
配置Mysql
进入到mysql下
mysql> create database azkaban;
mysql> set global validate_password_length=4;
mysql> set global validate_password_policy=0;
mysql> CREATE USER 'azkaban'@'%' IDENTIFIED BY '123456';
mysql> GRANT SELECT,INSERT,UPDATE,DELETE ON azkaban.* to 'azkaban'@'%' WITH GRANT OPTION;
mysql> use azkaban;
mysql> source /optazkaban/azkaban-db/create-all-sql-3.84.4.sql
mysql> quit;
更改mysql包大小,防止azkaban连接mysql阻塞**vim /etc/my.cnf**
。
[mysqld]
max_allowed_packet=1024M
重启mysqlsystemctl restart mysqld
。
配置Executor Server
vim /opt/azkaban/azkaban-exec/conf/azkaban.properties
修改其中某些配置如下
#...
default.timezone.id=Asia/Shanghai
#...
azkaban.webserver.url=http://mysql主机ip:8081
executor.port=12321
#...
database.type=mysql
mysql.port=3306
mysql.host=mysql所在主机ip
mysql.database=azkaban
mysql.user=azkaban
mysql.password=123456
在最后添加
executor.metric.reports=true
executor.metric.milisecinterval.default=60000
将azkaban-exec同步到其他节点。
启动executor,进入每台节点到/opt/azkaban/azkaban-exec路径下:执行bin/start-exec.sh
如果在当前目录下出现executor.port说明启动成功。或者进入mysql下的azkaban数据库下,查看表executors,看出现的行,每次启动都会有数据的插入与删除,临时节点像zookeeper的工作流程。
mysql> select * from executors;
+----+------+-------+--------+
| id | host | port | active |
+----+------+-------+--------+
| 1 | cdh4 | 12321 | 0 |
| 2 | cdh1 | 12321 | 0 |
| 3 | cdh2 | 12321 | 0 |
| 4 | cdh3 | 12321 | 0 |
+----+------+-------+--------+
4 rows in set (0.00 sec)
这里的active=0表示已经未激活,azkaban每次重新启动的时候,都需要在每台节点进行激活操作。
curl -G "cdh1:12321/executor?action=activate" && echo
curl -G "cdh2:12321/executor?action=activate" && echo
curl -G "cdh3:12321/executor?action=activate" && echo
curl -G "cdh4:12321/executor?action=activate" && echo
激活后会出现{"status":"success"}
。
mysql> select * from executors;
+----+------+-------+--------+
| id | host | port | active |
+----+------+-------+--------+
| 1 | cdh4 | 12321 | 1 |
| 2 | cdh1 | 12321 | 1 |
| 3 | cdh2 | 12321 | 1 |
| 4 | cdh3 | 12321 | 1 |
+----+------+-------+--------+
4 rows in set (0.00 sec)
配置Web Server
vim /opt/azkaban/azkaban-web/conf/azkaban.properties
修改如下参数
...
default.timezone.id=Asia/Shanghai
...
database.type=mysql
mysql.port=3306
mysql.host=mysql所在节点ip
mysql.database=azkaban
mysql.user=azkaban
mysql.password=123456
mysql.numconnections=100
...
azkaban.executorselector.filters=StaticRemainingFlowSize,CpuStatus
修改azkaban-users.xml文件,添加自己的管理用户
<azkaban-users>
<user groups="azkaban" password="azkaban" roles="admin" username="azkaban"/>
<user password="metrics" roles="metrics" username="metrics"/>
<user password="密码" roles="metrics,admin" username="自己的管理用户"/>
<role name="admin" permissions="ADMIN"/>
<role name="metrics" permissions="METRICS"/>
</azkaban-users>
进入到/opt/azkaban/azkaban-web目录下执行bin/start-web.sh
我的数据库是在cdh3下(192.168.1.202)
访问:http://192.168.1.202:8081,并用刚才创建的用户登录。