azkaban學習筆記總結java
現成的開源調度系統,好比ooize、azkaban。mysql
Azkaban是由Linkedin開源的一個批量工做流任務調度器。用於在一個工做流內以一個特定的順序運行一組工做和流程。Azkaban定義了一種KV文件格式來創建任務之間的依賴關係,並提供一個易於使用的web用戶界面維護和跟蹤你的工做流。
它有以下功能特色:web
最好結合shell腳原本完成調度。sql
azkaban最好安裝在master上,方便各類命令的執行。shell
Azkaban Web服務器:
azkaban-web-server-2.5.0.tar.gz數據庫
Azkaban執行服務器:
azkaban-executor-server-2.5.0.tar.gz服務器
MySQL:
目前azkaban只支持 mysql,需安裝mysql服務器,能夠安裝在某個節點之上(172.23.27.11),並創建了 root用戶,密碼 921015.模塊化
1.解壓學習
tar –zxvf azkaban-web-server-2.5.0.tar.gz mv azkaban-web-server-2.5.0 server
2.建立SSL配置插件
keytool -keystore keystore -alias jetty -genkey -keyalg RSA
運行此命令後,會提示輸入當前生成 keystor的密碼及相應信息,輸入的密碼請勞記,信息以下:
輸入keystore密碼:
再次輸入新密碼:
輸入相同密碼921015
完成上述工做後,將在當前目錄生成 keystore 證書文件,將keystore 考貝到 azkaban web服務器根目錄中.
cp keystore azkaban/server
3.配置文件
注:先配置好服務器節點上的時區
一、先生成時區配置文件Asia/Shanghai,用交互式命令 tzselect 便可
二、拷貝該時區文件,覆蓋系統本地時區配置
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
修改conf/azkaban.properties
default.timezone.id=Asia/Shanghai #時區 database.type=mysql mysql.port=3306 mysql.host=172.23.27.11 mysql.database=azkaban #數據庫實例名 mysql.user=root mysql.password=921015 # Azkaban Jetty server properties. jetty.maxThreads=25 jetty.ssl.port=8443 jetty.keystore=keystore jetty.password=921015 jetty.keypassword=921015 jetty.truststore=keystore jetty.trustpassword=921015
其他不修改。
修改conf/azkaban-users.xml,添加web訪問用戶密碼
<user username="admin" password="admin" roles="admin,metrics" />
修改conf/azkaban.properties
default.timezone.id=Asia/Shanghai #時區 #數據庫設置 database.type=mysql mysql.port=3306 mysql.host=172.23.27.11 mysql.database=azkaban #數據庫實例名 mysql.user=root mysql.password=921015
tar –zxvf azkaban-sql-script-2.5.0.tar.gz
在安裝了MySQL的節點
mysql> create database azkaban; mysql> use azkaban; mysql> source /opt/azkaban-2.5.0/create-all-sql-2.5.0.sql;
bin/azkaban-web-start.sh
或者啓動到後臺:
nohup bin/azkaban-web-start.sh 1>/tmp/azstd.out 2>/tmp/azerr.out &
bin/azkaban-executor-start.sh
用戶名密碼:admin
多依賴job示例
第一個job:foo.job
# foo.job type=command command=echo foo
第二個job:bar.job依賴foo.job
# bar.job type=command dependencies=foo command=echo bar
將全部job資源文件打到一個zip包中。
在web頁面中建立工程,並上傳zip包。
能夠設置調度時間和當即執行。
暫時先記錄到這兒吧,之後再完善。