1. 程式人生 > >輔助系統-azkaban

輔助系統-azkaban

azkaban(工作流排程器)

安裝部署

準備工作

Azkaban Web伺服器

azkaban-web-server-2.5.0.tar.gz

Azkaban執行伺服器 

azkaban-executor-server-2.5.0.tar.gz

MySQL

目前azkaban只支援 mysql,需安裝mysql伺服器,本文件中預設已安裝好mysql伺服器,並建立了 root使用者,密碼 root.

下載地址:http://azkaban.github.io/downloads.html

安裝

將安裝檔案上傳到叢集,最好上傳到安裝 hive、sqoop的機器上,方便命令的執行

在當前使用者目錄下新建 azkabantools目錄,用於存放源安裝檔案.新建azkaban目錄,用於存放azkaban執行程式

azkaban web伺服器安裝

[[email protected] ~]$ tar -zxvf azkaban-web-server-2.5.0.tar.gz -C azkaban

將解壓後的azkaban-web-server-2.5.0重新命名 server

azkaban 執行服器安裝

[[email protected] ~]$ tar –zxvf azkaban-executor-server-2.5.0.tar.gz -C azkaban

將解壓後的azkaban-executor-server-2.5.0 重新命名 executor

azkaban指令碼匯入

[[email protected] ~]$ tar –zxvf azkaban-sql-script-2.5.0.tar.gz -C azkaban

將解壓後的mysql 指令碼,匯入到mysql中:

進入mysql

[[email protected] azkaban]$ mysql -uroot -proot;

mysql> create database azkaban;

mysql> use azkaban;

Database changed

mysql> source /home/hadoop/azkaban/azkaban-2.5.0/create-all-sql-2.5.0.sql;

建立SSL配置

azkaban的web頁面用加密的https訪問,所以需要生成證書。

參考地址: http://docs.codehaus.org/display/JETTY/How+to+configure+SSL

證書生成命令: keytool -keystore keystore -alias jetty -genkey -keyalg RSA

[[email protected] ~]$ keytool -keystore keystore -alias jetty -genkey -keyalg RSA

執行此命令後,會提示輸入當前生成 keystor的密碼及相應資訊,輸入的密碼請勞記,資訊如下:

輸入keystore密碼: 六位密碼

再次輸入新密碼:六位密碼

您的名字與姓氏是什麼?

  [Unknown]: 可空

您的組織單位名稱是什麼?

  [Unknown]: 可空

您的組織名稱是什麼?

  [Unknown]: 可空

您所在的城市或區域名稱是什麼?

  [Unknown]: 可空

您所在的州或省份名稱是什麼?

  [Unknown]: 可空

該單位的兩字母國家程式碼是什麼

  [Unknown]:  可空

CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=CN 正確嗎?

  [否]:  y

輸入<jetty>的主密碼

        (如果和 keystore 密碼相同,按回車): 

再次輸入新密碼:

完成上述工作後,將在當前目錄生成 keystore 證書檔案,將keystore 考貝到 azkaban web伺服器根目錄中.如:cp keystore azkaban/server

配置檔案

注:先配置好伺服器節點上的時區

  1. 先生成時區配置檔案Asia/Shanghai,用互動式命令 tzselect 即可
  2. 拷貝該時區檔案,覆蓋系統本地時區配置

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime  

修改web伺服器中azkaban.properties檔案

[[email protected] ~]$ cd apps/azkaban/server/conf/

[[email protected] ~]$ vi azkaban.properties

內容說明如下:

#Azkaban Personalization Settings
azkaban.name=Test                                  #伺服器UI名稱,用於伺服器上方顯示的名字
azkaban.label=My Local Azkaban                     #描述
azkaban.color=#FF3601                              #UI顏色
azkaban.default.servlet.path=/index                #
web.resource.dir=web/                              #預設根web目錄
default.timezone.id=Asia/Shanghai                  #預設時區,已改為亞洲/上海 預設為美國


#Azkaban UserManager class
user.manager.class=azkaban.user.XmlUserManager     #使用者許可權管理預設類
user.manager.xml.file=conf/azkaban-users.xml       #使用者配置,具體配置參加下文

#Loader for projects
executor.global.properties=conf/global.properties  #global配置檔案所在位置
azkaban.project.dir=projects                       #
database.type=mysql                                #資料庫型別
mysql.port=3306                                    #埠號
mysql.host=localhost                               #資料庫連線IP
mysql.database=azkaban                             #資料庫例項名
mysql.user=root                                    #資料庫使用者名稱
mysql.password=root                                #資料庫密碼
mysql.numconnections=100                           #最大連線數


# Velocity dev mode
velocity.dev.mode=false                            #Jetty伺服器屬性
jetty.maxThreads=25                                #最大執行緒數
jetty.ssl.port=8443                                #Jetty SSL埠
jetty.port=8081                                    #Jetty埠
jetty.keystore=keystore                            #SSL檔名
jetty.password=123456                              #SSL檔案密碼
jetty.keypassword=123456                           #Jetty主密碼 與 keystore檔案相同
jetty.truststore=keystore                          #SSL檔名
jetty.trustpassword=123456                         #SSL檔案密碼


# 執行伺服器屬性
executor.port=12321                                #執行伺服器埠


# 郵件設定
[email protected]                       #傳送郵箱
mail.host=smtp.163.com                             #傳送郵箱smtp地址
mail.user=xxxxxxxx                                 #傳送郵件時顯示的名稱
mail.password=**********                           #郵箱密碼
[email protected]                 #任務失敗時傳送郵件的地址
[email protected]                 #任務成功時傳送郵件的地址
lockdown.create.projects=false                     #
cache.directory=cache                              #快取目錄

azkaban 執行伺服器executor配置

進入執行伺服器安裝目錄conf,修改azkaban.properties

[[email protected] ~]$ cd apps/azkaban/executor/conf/

vi azkaban.properties

#Azkaban
default.timezone.id=Asia/Shanghai                        #時區

#Azkaban JobTypes 外掛配置
azkaban.jobtype.plugin.dir=plugins/jobtypes             #jobtype 外掛所在位置

#Loader for projects
executor.global.properties=conf/global.properties
azkaban.project.dir=projects

#資料庫設定
database.type=mysql                                     #資料庫型別(目前只支援mysql)
mysql.port=3306                                         #資料庫埠號
mysql.host=192.168.20.200                               #資料庫IP地址
mysql.database=azkaban                                  #資料庫例項名
mysql.user=root                                         #資料庫使用者名稱
mysql.password=root                                     #資料庫密碼
mysql.numconnections=100                                #最大連線數

#執行伺服器配置
executor.maxThreads=50                                  #最大執行緒數
executor.port=12321                                     #埠號(如修改,請與web服務中一致)
executor.flow.threads=30                                #執行緒數

進入azkaban web伺服器conf目錄,修改azkaban-users.xml使用者配置

vi azkaban-users.xml 增加 管理員使用者

<azkaban-users>
        <user username="azkaban" password="azkaban" roles="admin" groups="azkaban" />
        <user username="metrics" password="metrics" roles="metrics"/>
        <user username="admin" password="admin" roles="admin,metrics" />---待新增
        <role name="admin" permissions="ADMIN" />
        <role name="metrics" permissions="METRICS"/>
</azkaban-users>

啟動

web伺服器

在azkaban web伺服器目錄下執行啟動命令

bin/azkaban-web-start.sh

注:在web伺服器根目錄執行

或者啟動到後臺

nohup  bin/azkaban-web-start.sh  1>/tmp/azstd.out  2>/tmp/azerr.out &

啟動azkaban後報錯資訊為:

Invalid maximum heap size: -Xmx4096m
The specified size exceeds the maximum representable size.
Could not create the Java virtual machine.
解決方法:
請修改檔案azkaban\azkaban-web-2.5.0\bin\azkaban-web-start.sh
將檔案中的  AZKABAN_OPTS="-Xmx4G" 修改為  AZKABAN_OPTS="-Xmx2G"
設定的大小按照機器的儲存而定,如果設定太大可能無法啟動,設定太小會記憶體溢位
否則啟動報錯

執行伺服器

在執行伺服器目錄下執行啟動命令

bin/azkaban-executor-start.sh

注:只能要執行伺服器根目錄執行

啟動完成後,在瀏覽器(建議使用谷歌瀏覽器)中輸入https://伺服器IP地址:8443 ,即可訪問azkaban服務了.在登入中輸入剛才新的戶用名及密碼,點選 login.