【Azkaban】安装multiple-executor

这是我参与11月更文挑战的第24天,活动详情查看:2021最后一次更文挑战

一、准备工作

节点划分如下: 2020-09-0200:48.png

(1)编译

已经得到编译过的包,这步可以越过。

选用 azkaban3.51.0 这个版本自己进行重新编译,编译完成之后得到需要的安装包进行安装。

cd /opt/lagou/software/

wget https://github.com/azkaban/azkaban/archive/3.51.0.tar.gz

tar -zxvf 3.51.0.tar.gz -C ../servers/

cd /opt/lagou/servers/azkaban-3.51.0/

yum -y install git
yum -y install gcc-c++


# -x test 跳过测试
./gradlew build installDist -x test
复制代码

(2)上传编译后的安装文件

# 在 linux122 节点创建目录

mkdir /opt/lagou/servers/azkaban
复制代码

(3)安装需要软件

  1. Azkaban Web 服务安装包

azkaban-web-server-0.1.0-SNAPSHOT.tar.gz

  1. Azkaban 执行服务安装包

azkaban-exec-server-0.1.0-SNAPSHOT.tar.gz

  1. sql 脚本

azkaban-db-0.1.0-SNAPSHOT.tar.gz

(4)数据库准备

linux123 节点,运行如下命令

# 解压数据库脚本
tar -zxvf azkaban-db-0.1.0-SNAPSHOT.tar.gz -C /opt/lagou/servers/azkaban

# 进入客户端, 密码:12345678
mysql -uroot -p


# 执行以下命令:

SET GLOBAL validate_password_length=5;
SET GLOBAL validate_password_policy=0;

CREATE USER 'azkaban'@'%' IDENTIFIED BY 'azkaban';
CREATE DATABASE azkaban;

GRANT ALL ON azkaban.* to 'azkaban'@'%' IDENTIFIED BY 'azkaban';
FLUSH PRIVILEGES;

use azkaban;

# 在数据库中运行,加载初始化sql创建表
source /opt/lagou/servers/azkaban/azkaban-db-0.1.0-SNAPSHOT/create-all-sql-0.1.0-SNAPSHOT.sql; 
复制代码

验证一下:

mysql> show tables;
+--------------------------+
| Tables_in_azkaban        |
+--------------------------+
| QRTZ_BLOB_TRIGGERS       |
| QRTZ_CALENDARS           |
| QRTZ_CRON_TRIGGERS       |
| QRTZ_FIRED_TRIGGERS      |
| QRTZ_JOB_DETAILS         |
| QRTZ_LOCKS               |
| QRTZ_PAUSED_TRIGGER_GRPS |
| QRTZ_SCHEDULER_STATE     |
| QRTZ_SIMPLE_TRIGGERS     |
| QRTZ_SIMPROP_TRIGGERS    |
| QRTZ_TRIGGERS            |
| active_executing_flows   |
| active_sla               |
| execution_dependencies   |
| execution_flows          |
| execution_jobs           |
| execution_logs           |
| executor_events          |
| executors                |
| project_events           |
| project_files            |
| project_flow_files       |
| project_flows            |
| project_permissions      |
| project_properties       |
| project_versions         |
| projects                 |
| properties               |
| triggers                 |
+--------------------------+
29 rows in set (0.00 sec)
复制代码

二、配置 Azkaban-web-server

linux122 节点下

  1. 解压 azkaban-web-server
mkdir /opt/lagou/servers/azkaban

cd /opt/lagou/software/azkaban
tar -zxvf azkaban-web-server-0.1.0-SNAPSHOT.tar.gz -C /opt/lagou/servers/azkaban/
复制代码
  1. 生成 ssl 证书
cd /opt/lagou/servers/azkaban/azkaban-web-server-0.1.0-SNAPSHOT

# 生成ssl证书:
keytool -keystore keystore -alias jetty -genkey -keyalg RSA


# 会生成 `keystore`
[root@linux122 azkaban-web-server-0.1.0-SNAPSHOT]# ll
total 8
drwxr-xr-x 3 root root   65 May 29  2019 bin
drwxr-xr-x 2 root root  106 May 29  2019 conf
-rw-r--r-- 1 root root 2242 Sep  2 01:10 keystore
drwxr-xr-x 2 root root 4096 May 29  2019 lib
drwxr-xr-x 6 root root   73 May 29  2019 web

复制代码

如下图所示:

大红框,输入密码均为 : azkaban 小红框,输入: y 其他信息,直接回车即可。

2020-09-0201:11.png

  1. 修改 azkaban-web-server 的配置文件
cd /opt/lagou/servers/azkaban/azkaban-web-server-0.1.0-SNAPSHOT/conf

vim azkaban.properties

# 修改
default.timezone.id=Asia/Shanghai
jetty.use.ssl=true
jetty.port=8443

# 增加,在 mail.host= 下增加即可
jetty.keystore=keystore
jetty.password=azkaban
jetty.keypassword=azkaban
jetty.truststore=keystore
jetty.trustpassword=azkaban

# 修改
mysql.port=3306
mysql.host=linux123
mysql.database=azkaban
mysql.user=azkaban
mysql.password=azkaban

# 注释如下
#azkaban.executorselector.filters=StaticRemainingFlowSize,MinimumFreeMemory,CpuStatus

复制代码
  1. 添加属性
cd /opt/lagou/servers/azkaban/azkaban-web-server-0.1.0-SNAPSHOT
# 目录下没有,所以需要创建
mkdir -p plugins/jobtypes
cd plugins/jobtypes/


vim commonprivate.properties

# 添加如下

azkaban.native.lib=false
execute.as.user=false
memCheck.enabled=false
复制代码

三、配置 Azkaban-exec-server

在 linux123 节点上操作

  1. 上传 azkaban-exec-server-0.1.0-SNAPSHOT.tar.gz 包到 linux123 节点上


# 解压缩
tar -zxvf azkaban-exec-server-0.1.0-SNAPSHOT.tar.gz -C /opt/lagou/servers/azkaban/
复制代码
  1. 修改 azkaban-exec-server 的配置文件
cd /opt/lagou/servers/azkaban/azkaban-exec-server-0.1.0-SNAPSHOT/conf

vi azkaban.properties

# 修改
default.timezone.id=Asia/Shanghai
azkaban.webserver.url=https://linux123:8443

mysql.port=3306
mysql.host=linux123
mysql.database=azkaban
mysql.user=azkaban
mysql.password=azkaban


# 增加配置,在 executor.flow.threads=30 下行
executor.port=12321
复制代码
  1. 分发 exec-serverlinux121 节点
[root@linux123 servers]# pwd
/opt/lagou/servers
[root@linux123 servers]# scp -r azkaban linux121:$PWD

复制代码

四、启动服务

  1. 启动
# 在 linux121 启动 exec-server
bin/start-exec.sh

# 在 linux123 启动 exec-server
bin/start-exec.sh

# 在 linux122 启动web-server
bin/start-web.sh

# 查看进程是否在,使用 jps
jps


[root@linux121 azkaban-exec-server-0.1.0-SNAPSHOT]# jps
16499 Jps
5044 QuorumPeerMain
4342 NameNode
4442 DataNode
4750 NodeManager
16479 AzkabanExecutorServer

[root@linux123 azkaban-exec-server-0.1.0-SNAPSHOT]# jps
3298 ResourceManager
3798 QuorumPeerMain
6038 Jps
3080 DataNode
3160 SecondaryNameNode
3528 NodeManager
6025 AzkabanExecutorServer
复制代码
  1. 激活 exec-server

linux122 上 运行bin/start-web.sh,用 jps 查看没有对应进程。 查看日志

[root@linux122 logs]# pwd
/opt/lagou/servers/azkaban/azkaban-web-server-0.1.0-SNAPSHOT/logs
[root@linux122 logs]# ll
total 8
-rw-r--r-- 1 root root 7301 Sep  2 01:49 azkaban-webserver.log


 at azkaban.webapp.AzkabanWebServer.class(AzkabanWebServer.java:122)
  while locating azkaban.webapp.AzkabanWebServer
Caused by: azkaban.executor.ExecutorManagerException: No active executor found
	at azkaban.executor.ExecutorManager.setupExecutors(ExecutorManager.java:253)
	at azkaban.executor.ExecutorManager.<init>(ExecutorManager.java:131)
	at azkaban.executor.ExecutorManager$$FastClassByGuice$$e1c1dfed.newInstance(<generated>)
复制代码

需要手动激活 executor

# linux121 和 linux123 均要执行

cd /opt/lagou/servers/azkaban/azkaban-exec-server-0.1.0-SNAPSHOT

# 在 linux123 上执行
curl -G "linux123:$(<./executor.port)/executor?action=activate" && echo

# 在 linux121 上执行
curl -G "linux121:$(<./executor.port)/executor?action=activate" && echo



[root@linux123 azkaban-exec-server-0.1.0-SNAPSHOT]# curl -G "linux123:$(<./executor.port)/executor?action=activate" && echo
{"status":"success"}

[root@linux121 azkaban-exec-server-0.1.0-SNAPSHOT]# curl -G "linux121:$(<./executor.port)/executor?action=activate" && echo
{"status":"success"}
复制代码

访问 :https://linux122:8443

Guess you like

Origin juejin.im/post/7034537172455653383
Recommended