azkaban github 地址:https://github.com/azkaban/azkaban
git clone 地址:https://github.com/azkaban/azkaban.git
編譯
- $git clone https://github.com/azkaban/azkaban.git
- $cd azkaban
- $git checkout 版本號
版本號通過 https://github.com/azkaban/azkaban/releases 查看
例 :git checkout 3.38.0 - $./gradlew distTar
Azkaban builds use Gradle and requires Java 8 or higher.
注意是Linux 系統 我用Centos 7 編譯成功
JAVA環境變量必須設置 檢查:java javac
編譯成功後 壓縮包在build/distributions目錄裏
一共5個
* azkaban-exec-server-3.38.0.tar.gz
* azkaban-migration-3.38.0.tar.gz
* azkaban-solo-server-3.38.0.tar.gz
* azkaban-sql-3.38.0.tar.gz
* azkaban-web-server-3.38.0.tar.gz
需要:
azkaban-exec-server-3.38.0.tar.gz
azkaban-sql-3.38.0.tar.gz
azkaban-web-server-3.38.0.tar.gz
安裝
- 解壓 tar -zxvf azkaban-sql-3.38.0.tar.gz -C /home/hadoop/app
- 進入mysql $mysql -uroot -proot
- 創建數據庫 create database azkaban;
- 更改庫 use azkaban;
- 導入sql :source /home/hadoop/app/azkaban-sql-3.38.0/create-all-sql-3.38.0.sql;
- 創建SSL配置 keytool -keystore keystore -alias jetty -genkey -keyalg RSA
- cp keystore azkaban/server
azkaban.properties
#Azkaban Personalization Settings
#服務器UI名稱,用於服務器上方顯示的名字
azkaban.name=Test
#描述
azkaban.label=My Local Azkaban
#UI顏色
azkaban.color=#FF3601
azkaban.default.servlet.path=/index
#默認根web目錄
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
# global配置文件所在位置
executor.global.properties=conf/global.properties
azkaban.project.dir=projects
#數據庫類型
database.type=mysql
#端口號
mysql.port=3306
#數據庫連接IP
mysql.host=localhost
#數據庫實例名
mysql.database=azkaban
#數據庫用戶名
mysql.user=root
#數據庫密碼
mysql.password=root
#最大連接數
mysql.numconnections=100
# Velocity dev mode
# Jetty服務器屬性.
velocity.dev.mode=false
#最大線程數
jetty.maxThreads=25
#Jetty SSL端口
jetty.ssl.port=8443
#Jetty端口
jetty.port=8081
#SSL文件名
jetty.keystore=keystore
#SSL文件密碼
jetty.password=123456
#Jetty主密碼 與 keystore文件相同
jetty.keypassword=123456
#SSL文件名
jetty.truststore=keystore
# SSL文件密碼
jetty.trustpassword=123456
# 執行服務器屬性
#執行服務器端口
executor.port=12321
# 郵件設置
mail.sender=xxxxxxxx@163.com #發送郵箱
mail.host=smtp.163.com #發送郵箱smtp地址
mail.user=xxxxxxxx #發送郵件時顯示的名稱
mail.password=********** #郵箱密碼
job.failure.email=xxxxxxxx@163.com #任務失敗時發送郵件的地址
job.success.email=xxxxxxxx@163.com #任務成功時發送郵件的地址
lockdown.create.projects=false #
cache.directory=cache #緩存目錄
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-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>
啓動
bin/azkaban-web-start.sh
bin/azkaban-executor-start.sh