1、安裝模式
Azkaban有三種運行模式:
1) solo servermode:最簡單的模式,數(shù)據(jù)庫內(nèi)置的H2數(shù)據(jù)庫,管理服務(wù)器和執(zhí)行服務(wù)器都在一個進程中運行,任務(wù)量不大項目可以采用此模式。
2) two servermode:數(shù)據(jù)庫為MySQL,管理服務(wù)器和執(zhí)行服務(wù)器在不同進程,這種模式下,管理服務(wù)器和執(zhí)行服務(wù)器互不影響
3) multipleexecutor mode:該模式下,執(zhí)行服務(wù)器和管理服務(wù)器在不同主機上,且執(zhí)行服務(wù)器可以有多個。
項目需求,使用第二種。
2、Mysql安裝及配置
安裝教程:http://blog.csdn.net/duyuanhai/article/details/36404175
安裝完之后啟動:
1)為Azkaban創(chuàng)建一個數(shù)據(jù)庫:
# Example database creation command, although the db name doesn't need to be 'azkaban'mysql> CREATE DATABASE azkaban;2) 為Azkaban創(chuàng)建一個數(shù)據(jù)庫用戶:
# Example database creation command. The user name doesn't need to be 'azkaban'mysql> CREATE USER 'username'@'%' IDENTIFIED BY 'passWord';3) 為用戶賦予Azkaban數(shù)據(jù)庫的增刪查改的權(quán)限:
# Replace db, username with the ones created by the PRevious steps.mysql> GRANT SELECT,INSERT,UPDATE,DELETE ON <database>.* to '<username>'@'%' WITH GRANT OPTION;4) 設(shè)置mysql的信息包大小,默認的太小,改大一點:
linux配置打開
mysql/conf/my.cnf
:[mysqld]...max_allowed_packet=1024M5)重啟mysql:
$ sudo /sbin/service mysqld restart3、 Azkaban Web Server安裝和配置
1) 從GitHub上下載源碼:
git
clonehttps://github.com/azkaban/azkaban.git
2) build:
壓縮為
tar
包
:
./gradlew distTar
或者壓縮為
zip
包
:
./gradlew distZip
如果不是第一次
building
,最好先
clean
一下
:
./gradlew clean
創(chuàng)建的.tar.gz
文件的目錄:例如/azkaban-web-server/build/distributions/azkaban-web-server-3.1.0.tar.gz
. cp/
opt/azkaban/
azkaban
-*/
build/distributions/*.tar.gz/
opt.3) 解壓縮
cd /opt
tar zxvf azkaban-exec-server-
3.1.
0.tar.gztar zxvf azkaban-web-server-
3.1.
0.tar.gztar zxvf azkaban-sql-
3.1.
0.tar.gz4) 將azkaban sql表結(jié)構(gòu)導(dǎo)入mysql
mysql> use azkaban;
mysql> source /opt/azkaban-sql
-3.1.0/create-all-sql
-3.1.0.sql
5)配置keystore
azkaban-web-server-3.1.0$ keytool -keystore keystore -alias jetty -genkey -keyalg RSA
輸入密鑰庫口令
:
密鑰庫口令太短
-
至少必須為
6
個字符
輸入密鑰庫口令
:
再次輸入新口令
:
您的名字與姓氏是什么
?
[
Unknown]:
firstName您的組織單位名稱是什么
?
[
Unknown]:
companyName您的組織名稱是什么
?
[
Unknown]:
groupName您所在的城市或區(qū)域名稱是什么
?
[
Unknown]:
beijing您所在的省
/
市
/
自治區(qū)名稱是什么
?
[
Unknown]:
beijing該單位的雙字母國家
/
地區(qū)代碼是什么
?
[
Unknown]:
CNCN=
firstName, OU=
companyName, O=
groupName, L=beijing, ST=beijing, C=CN
是否正確
?[
否
]: Y
以上配置完成之后會在當(dāng)前目錄生成一個
keystore
文件。以下配置會用到。
6) 配置conf/azkaban.properties:
如果Azkaban WebServer下面沒有conf目錄,將azkaban-solo-web 下的conf目錄拷貝過來,并作以下配置:
cat conf/azkaban.properties
# Azkaban Personalization Settingsazkaban.
name=Testazkaban.
label=MyLocal Azkaban
azkaban.
color=#FF3601azkaban.default.servlet.
path=/indexweb.resource.
dir=web/default.timezone.
id=America/Los_Angeles# Azkaban UserManager classuser.manager.
class=azkaban.user.xmlUserManageruser.manager.xml.
file=conf/azkaban-users.xml# Loader for projectsexecutor.global.
properties=conf/global.propertiesazkaban.project.
dir=projectsdatabase.
type=mysqlmysql.
port=3306mysql.
host=localhostmysql.
database=azkabanmysql.
user=azkabanmysql.
password=azkabanmysql.
numconnections=100# Velocity dev modevelocity.dev.
mode=false# Azkaban Jetty server properties.jetty.
maxThreads=25jetty.ssl.
port=8443# jetty.use.ssl=falsejetty.
port=8081jetty.
keystore=keystorejetty.
password=azkabanjetty.
keypassword=azkabanjetty.
truststore=keystorejetty.
trustpassword=azkabanjetty.
excludeCipherSuites=SSL_RSA_WITH_DES_CBC_SHA,SSL_DHE_RSA_WITH_DES_CBC_SHA,SSL_DHE_DSS_WITH_DES_CBC_SHA,SSL_RSA_EXPORT_WITH_RC4_40_md5,SSL_RSA_EXPORT_WITH_DES40_CBC_SHA,SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA,SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA,SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA,TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,TLS_DHE_DSS_WITH_AES_256_CBC_SHA256,TLS_DHE_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_DSS_WITH_AES_256_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,TLS_DHE_DSS_WITH_AES_128_CBC_SHA256,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_DSS_WITH_AES_128_CBC_SHA# Azkaban Executor settingsexecutor.
port=12321# mail settingsmail.
sender=mail.
host=job.failure.
email=job.success.
email=lockdown.create.
projects=falsecache.
directory=cache# JMX statsjetty.connector.
stats=trueexecutor.connector.
stats=true注意:
配置的默認時區(qū)是:
default.timezone.
id=America/Los_Angeles修改為:default.timezone.
id=Asia/Shanghai7) 用戶設(shè)置
進入
azkaban web
服務(wù)器
conf
目錄,修改
azkaban-users.xml
,增加管理員用戶:
<azkaban-users><userusername="azkaban"password="azkaban"roles="admin"groups="azkaban" /><userusername="metrics"password="metrics"roles="metrics"/><userusername="admin"password="admin"roles="admin,metrics" /><rolename="admin"permissions="ADMIN" /><rolename="metrics"permissions="METRICS"/></azkaban-users>8) 啟動azkaban web服務(wù)器
cd/
opt/azkaban-web-server-
3.1.
0/
bin/azkaban-web-start.
sh報錯:Exception: java.lang.StackOverflowError thrown from the UncaughtExceptionHandler in thread "main"
解決方式:在Azkaban-web-server的conf目錄下創(chuàng)建文件夾conf/log4j.properties:
log4j.rootLogger=INFO,C
log4j.appender.C=org.apache.log4j.ConsoleAppender
log4j.appender.C.Target=System.err
log4j.appender.C.layout=org.apache.log4j.PatternLayout
log4j.appender.C.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
9) 訪問驗證https://192.168.0.61:8443/
4、 Azkaban Executor Server 安裝和配置
進入azkaban-executor-server目錄,將azkaban-web-server下的conf目錄拷貝到
該目錄下
1) 配置executor端的azkaban.properties
# Azkabandefault.timezone.
id=America/Los_Angeles# Azkaban JobTypes Pluginsazkaban.jobtype.plugin.
dir=plugins/jobtypes# Loader for projectsexecutor.global.
properties=conf/global.propertiesazkaban.project.
dir=projectsdatabase.
type=mysqlmysql.
port=3306mysql.
host=localhostmysql.
database=azkabanmysql.
user=azkabanmysql.
password=azkabanmysql.
numconnections=100# Azkaban Executor settingsexecutor.
maxThreads=50executor.
port=12321executor.flow.
threads=30# JMX statsjetty.connector.
stats=trueexecutor.connector.
stats=true# uncomment to enable inmemory stats for azkaban#executor.metric.reports=true#executor.metric.milisecinterval.default=600002) 啟動執(zhí)行服務(wù)器:
bin/azkaban-executor-
start.sh
|
新聞熱點
疑難解答