Azkaban 安裝及簡單使用
安裝大體過程:
1 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用戶,密碼 mcdhive
下載地址:http://azkaban.github.io/downloads.html
安裝
將安裝文件上傳到集羣/root/apps/azkaban,最好上傳到安裝 hive、sqoop的機器上,方便命令的執行
1.1 azkaban web服務器安裝
進入azkaban目錄 cd /root/apps/azkaban
解壓azkaban-web-server-2.5.0.tar.gz
命令: tar –zxvf azkaban-web-server-2.5.0.tar.gz
mv azkaban-web-server-2.5.0 webserver
1.2 azkaban 執行服器安裝
解壓azkaban-executor-server-2.5.0.tar.gz
命令:tar –zxvf azkaban-executor-server-2.5.0.tar.gz
mv azkaban-executor-server executor
1.3 azkaban腳本導入
解壓: azkaban-sql-script-2.5.0.tar.gz
命令:tar –zxvf azkaban-sql-script-2.5.0.tar.gz
將解壓後的mysql 腳本,導入到mysql中:
進入mysql
mysql> create database azkaban;
mysql> use azkaban;
Database changed
mysql> source /root/apps/azkaban/azkaban-2.5.0/create-all-sql-2.5.0.sql;
1.4 創建SSL配置
參考地址: http://docs.codehaus.org/display/JETTY/How+to+configure+SSL
命令: keytool -keystore keystore -alias jetty -genkey -keyalg RSA
運行此命令後,會提示輸入當前生成 keystor的密碼及相應信息,輸入的密碼請勞記,信息如下:
輸入keystore密碼:
再次輸入新密碼:
您的名字與姓氏是什麼?
[Unknown]:
您的組織單位名稱是什麼?
[Unknown]:
您的組織名稱是什麼?
[Unknown]:
您所在的城市或區域名稱是什麼?
[Unknown]:
您所在的州或省份名稱是什麼?
[Unknown]:
該單位的兩字母國家代碼是什麼
[Unknown]: CN
CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=CN 正確嗎?
[否]: y
輸入的主密碼
(如果和 keystore 密碼相同,按回車):
再次輸入新密碼:
完成上述工作後,將在當前目錄生成 keystore 證書文件,將keystore 考貝到 azkaban web服務器根目錄中.如:cp keystore azkaban/webserver
1.5 配置文件
注:先配置好服務器節點上的時區
1、先生成時區配置文件Asia/Shanghai,用交互式命令 tzselect 即可
2、拷貝該時區文件,覆蓋系統本地時區配置
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
1.5.1 azkaban web服務器配置
進入azkaban web服務器安裝目錄 conf目錄
修改azkaban.properties文件
命令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=hadoop03 #數據庫連接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 #緩存目錄
配置到環境中最後的web配置文件(親測可用)
#Azkaban Personalization Settings
azkaban.name=Test
azkaban.label=My Local Azkaban
azkaban.color=#FF3601
azkaban.default.servlet.path=/index
web.resource.dir=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
azkaban.project.dir=projects
database.type=mysql
mysql.port=3306
mysql.host=localhost
mysql.database=azkaban
mysql.user=root
mysql.password=mcdhive
mysql.numconnections=100
# Velocity dev mode
velocity.dev.mode=false
# Azkaban Jetty server properties.
jetty.maxThreads=25
jetty.ssl.port=8443
jetty.port=8081
jetty.keystore=keystore
jetty.password=mcdhive
jetty.keypassword=mcdhive
jetty.truststore=keystore
jetty.trustpassword=mcdhive
# Azkaban Executor settings
executor.port=12321
# mail settings
mail.sender=
mail.host=
job.failure.email=
job.success.email=
lockdown.create.projects=false
cache.directory=cache
1.5.2 azkaban 執行服務器配置
進入執行服務器安裝目錄conf,修改azkaban.properties
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=azkaban #數據庫用戶名
mysql.password=oracle #數據庫密碼
mysql.numconnections=100 #最大連接數
# 執行服務器配置
executor.maxThreads=50 #最大線程數
executor.port=12321 #端口號(如修改,請與web服務中一致)
executor.flow.threads=30 #線程數
exector 最終配置文件
#Azkaban
default.timezone.id=Asia/Shanghai
# Azkaban JobTypes Plugins
azkaban.jobtype.plugin.dir=plugins/jobtypes
#Loader for projects
executor.global.properties=conf/global.properties
azkaban.project.dir=projects
database.type=mysql
mysql.port=3306
mysql.host=master
mysql.database=azkaban
mysql.user=root
mysql.password=mcdhive
mysql.numconnections=100
# Azkaban Executor settings
executor.maxThreads=50
executor.port=12321
executor.flow.threads=30
1.5.3 用戶配置
進入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>
1.6 啓動
1.6.1 web服務器
在azkaban web服務器目錄下執行啓動命令
bin/azkaban-web-start.sh
注:在web服務器根目錄運行
1.6.2 執行服務器
在執行服務器目錄下執行啓動命令
bin/azkaban-executor-start.sh
注:只能要執行服務器根目錄運行
啓動完成後,在瀏覽器(建議使用谷歌瀏覽器)中輸入https://服務器IP地址:8443 ,即可訪問azkaban服務了.在登錄中輸入剛纔新的戶用名及密碼,點擊 login.
1.7 關閉azkaban
1.7.1. 關閉web
bin/azkaban-web-shutdown.sh
1.7.2 關閉exector
bin/azkaban-executor-shutdown.sh