天天看點

azkaban的安裝

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
           
azkaban的安裝

3)必須進入到node01的/opt/module/azkaban/azkaban-web路徑,啟動web server

[[email protected] azkaban-web]$ bin/start-web.sh
           

4)通路http://node01:8081,并用atguigu使用者登陸