1.1 叢集模式安裝
1.1.1 上傳tar包
1)将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路徑
2)建立/opt/module/azkaban目錄,并将所有tar包解壓到這個目錄下
[[email protected] software]$ mkdir /opt/module/azkaban
3)解壓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目錄下
4)進入到/opt/module/azkaban目錄,依次修改名稱
配置MySQL
1)正常安裝MySQL
2)啟動MySQL
3)登陸MySQL,建立Azkaban資料庫
4)建立azkaban使用者并賦予權限
新版mysql設定安全政策,設定過可以直接去建立
設定密碼有效長度4位及以上
mysql> set global validate_password_length=4;
設定密碼政策最低級别
mysql> set global validate_password_policy=0;
建立Azkaban使用者,任何主機都可以通路Azkaban,密碼是000000
mysql> CREATE USER 'azkaban'@'%' IDENTIFIED BY '000000';
賦予Azkaban使用者增删改查權限
mysql> GRANT SELECT,INSERT,UPDATE,DELETE ON azkaban.* to 'azkaban'@'%' WITH GRANT OPTION;
5)建立Azkaban表,完成後退出MySQL
mysql> use azkaban;
mysql> source /opt/module/azkaban/azkaban-db-3.84.4/create-all-sql-3.84.4.sql mysql>
quit;
6)更改MySQL包大小;防止Azkaban連接配接MySQL阻塞
[[email protected] software]$ vi /etc/my.cnf
在[mysqld]下面加一行max_allowed_packet=1024M
[mysqld]
max_allowed_packet=1024M
8)重新開機MySQL
[[email protected] software]$ systemctl restart mysqld
1.1.3 配置Executor Server
Azkaban Executor Server處理工作流和作業的實際執行。
1)編輯azkaban.properties
[[email protected] azkaban]$ vi /opt/module/azkaban/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=000000
mysql.numconnections=100
在最後添加
executor.metric.reports=true
executor.metric.milisecinterval.default=60000
注意:如若是mysql8.0以後,azkaban-exec/lib替換驅動jar包為8.0的
2)同步azkaban-exec到所有節點,單機版不需要同步操作
[[email protected] azkaban]$ xsync /opt/module/azkaban/azkaban-exec
3)必須進入到/opt/module/azkaban/azkaban-exec路徑,分别在三台機器上,啟動executor server
[[email protected] azkaban-exec]$ bin/start-exec.sh
[[email protected] azkaban-exec]$ bin/start-exec.sh
[[email protected] azkaban-exec]$ bin/start-exec.sh
注意:如果在/opt/module/azkaban/azkaban-exec目錄下出現executor.port檔案,說明啟動成功
4)下面激活executor,需要
[[email protected] azkaban-exec]$ curl -G "node01:$(<./executor.port)/executor?action=activate" && echo
[[email protected] azkaban-exec]$ curl -G "node02:$(<./executor.port)/executor?action=activate" && echo
[[email protected] azkaban-exec]$ curl -G "node03:$(<./executor.port)/executor?action=activate" && echo
如果三台機器都出現如下提示,則表示激活成功
{"status":"success"}
1.1.4 配置Web Server
Azkaban Web Server處理項目管理,身份驗證,計劃和執行觸發。
1)編輯azkaban.properties
[[email protected] azkaban]$ vi /opt/module/azkaban/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=000000
mysql.numconnections=100
...
azkaban.executorselector.filters=StaticRemainingFlowSize,CpuStatus
說明:
注意:如若是mysql8.0以後,azkaban-web/lib替換驅動jar包為8.0的
#StaticRemainingFlowSize:正在排隊的任務數;
#CpuStatus:CPU占用情況
#MinimumFreeMemory:記憶體占用情況。測試環境,必須将MinimumFreeMemory删除掉,否則它會認為叢集資源不夠,不執行。
2)修改azkaban-users.xml檔案,添加atguigu使用者
[[email protected] azkaban-web]$ vi /opt/module/azkaban/azkaban-web/conf/azkaban-users.xml

3)必須進入到node01的/opt/module/azkaban/azkaban-web路徑,啟動web server
[[email protected] azkaban-web]$ bin/start-web.sh
4)通路http://node01:8081,并用atguigu使用者登陸