本文作者:林偉兵撤蚊,叩丁狼高級講師奕短。原創(chuàng)文章,轉(zhuǎn)載請注明出處匀钧。
4. Azkaban-solo-server安裝
在上一節(jié)的講解中翎碑,我們已經(jīng)完成Azkaban各個模塊的編譯。如下:
$AZKABAN_SOURCE_HOME/azkaban-solo-server/build/distributions/*.tar.gz(zip)
$AZKABAN_SOURCE_HOME/azkaban-web-server/build/distributions/*.tar.gz(zip)
$AZKABAN_SOURCE_HOME/azkaban-executor-server/build/distributions/*.tar.gz(zip)
將其對應包下的.tar.gz文件拷貝到獨立的文件夾下(該文件夾用來安裝 Azkaban)并解壓之斯,并且不要忘記拷貝azkaban-db/build/distributions/xxx.sql文件(這是一個數(shù)據(jù)庫初始化的腳本文件) :
[root@azkabanvm packages]# ll
total 58276
drwxr-xr-x. 6 root root 4096 Sep 29 01:24 azkaban-exec-server-0.1.0-SNAPSHOT
-rw-r--r--. 1 root root 15767192 Sep 29 01:24 azkaban-exec-server-0.1.0-SNAPSHOT.tar.gz
drwxr-xr-x. 8 root root 4096 Sep 29 01:25 azkaban-solo-server-0.1.0-SNAPSHOT
-rw-r--r--. 1 root root 23876418 Sep 29 01:25 azkaban-solo-server-0.1.0-SNAPSHOT.tar.gz
drwxr-xr-x. 6 root root 4096 Sep 29 01:25 azkaban-web-server-0.1.0-SNAPSHOT
-rw-r--r--. 1 root root 20009922 Sep 29 01:25 azkaban-web-server-0.1.0-SNAPSHOT.tar.gz
初始化MySQL,這里直接貼出最簡單的安裝方式:
yum install -y mysql-server
yum install -y mysql
service mysqld start
mysql> mysql -u root -p
mysql> ##第一次安裝沒有密碼 直接按Enter鍵 然后修改當前密碼
mysql> set password for 'root'@'localhost' = password('root') ;
mysql> grant all privileges on *.* to root@192.168.60.13 identified by 'root';
mysql> FLUSH PRIVILEGES;
mysql> create database azkaban;
將sql文件導入到azkaban數(shù)據(jù)庫中:
mysql> use azkaban;
mysql> source /usr/local/azkaban/packages/create-all-sql-0.1.0-SNAPSHOT.sql;
mysql> show tables;
生成秘鑰文件:
打開azkaban-solo-server-0.1.0-SNAPSHOT/conf/azkaban.properties文件(這里主要配置的是數(shù)據(jù)庫驅(qū)動和證書認證):
default.timezone.id=Asia/Shanghai
database.type=mysql
mysql.port=3306
## 這里最好配置IP地址
mysql.host=192.168.66.170
mysql.database=azkaban
mysql.user=root
mysql.password=sql_9879
mysql.numconnections=100
jetty.use.ssl=true
jetty.maxThreads=25
jetty.ssl.port=8666
jetty.port=8081
#注意這里要統(tǒng)一配置好keystore文件存儲的路徑
jetty.keystore=.../keystore
jetty.password=000000
jetty.keypassword=000000
#注意這里要統(tǒng)一配置好keystore文件存儲的路徑
jetty.truststore=.../keystore
jetty.trustpassword=000000
從azkaban.properties文件內(nèi)容可以看出還有一個文件是用來管理登錄的用戶的日杈,那就是azkaban-users.xml,我們可以在這個文件中配置密碼:
在本機的 /etc/hosts 文件中添加本機IP地址的映射:
127.0.0.1 azkabanvm
返回azkaban-solo-server-0.1.0-SNAPSHOT目錄佑刷,在這個目錄下啟動solo:
[root@azkabanvm azkaban-solo-server-0.1.0-SNAPSHOT]# bin/start-solo.sh
[root@azkabanvm azkaban-solo-server-0.1.0-SNAPSHOT]# jps
3252 Jps
3227 AzkabanSingleServer
#如果進程沒有啟動 可以在當前目錄下會自動創(chuàng)建啟動腳本的日志:
[root@azkabanvm azkaban-solo-server-0.1.0-SNAPSHOT]# cat soloServerLog__2018-09-29+18\:30\:29.out
注意:上面的solo-server會創(chuàng)建一個叫AzkabanSingleServer的進程达椰,并在啟動一會之后主動退出,這個操作可以用來檢查我們的配置文件是否正確项乒。而我們真正要啟動的是一個Executor 進程和 Web進程啰劲。
5. web/executor-server 安裝
將solo-server下的azkaban.properties文件和azkaban-users.xml文件拷貝到web/conf 文件夾下。
啟動web服務:
[root@azkabanvm azkaban-web-server-0.1.0-SNAPSHOT]# bin/start-web.sh
[root@azkabanvm azkaban-web-server-0.1.0-SNAPSHOT]# jps
3744 Jps
3336 AzkabanWebServer
從啟動的日志文件中我們也可以看到啟動的端口檀何,注意這里一定要保證防火墻是關閉的:
[root@azkabanvm azkaban-web-server-0.1.0-SNAPSHOT]# service iptables stop
在網(wǎng)頁端訪問ssl頁面:
將solo-server下的azkaban.properties文件和azkaban-users.xml文件拷貝到executor/conf 文件夾下蝇裤。
進入executor文件夾,啟動executor進程:
[root@azkabanvm azkaban-exec-server-0.1.0-SNAPSHOT]# bin/start-exec.sh
[root@azkabanvm azkaban-exec-server-0.1.0-SNAPSHOT]# jps
3634 Jps
3607 AzkabanExecutorServer
3336 AzkabanWebServer
6. 測試第一個Job
登錄頁面后频鉴,創(chuàng)建一個Job項目栓辜。
創(chuàng)建command.job文件,內(nèi)容如下垛孔,拷貝完成后將其打包成zip文件 上傳Job項目中:
#command.job
type=command
command=echo 'hello'
執(zhí)行項目藕甩,發(fā)現(xiàn)出現(xiàn)卡頓現(xiàn)象,主要是azkaban要求執(zhí)行Job必須存在3G的內(nèi)存空間周荐,如下wiki :
If you don’t need 3GB free memory for some simple shell commands, you can also disable the memory check by setting memCheck.enabled=false
in plugins/jobtypes/commonprivate.properties
.
按著上面的提示可以修改executor/plugins/jobtypes/commonprivate.properties
文件狭莱,將memCheck.enabled=false
。
此時需要重啟整個服務(包括web和executor)概作。重新執(zhí)行任務才會成功腋妙。
想獲取更多技術(shù)視頻,請前往叩丁狼官網(wǎng):http://www.wolfcode.cn/openClassWeb_listDetail.html