1、安裝模式
Azkaban有三種運行模式:
1) solo servermode:最簡單的模式,數據庫內置的H2數據庫,管理服務器和執行服務器都在一個進程中運行,任務量不大項目可以采用此模式。
2) two servermode:數據庫為MySQL,管理服務器和執行服務器在不同進程,這種模式下,管理服務器和執行服務器互不影響
3) multipleexecutor mode:該模式下,執行服務器和管理服務器在不同主機上,且執行服務器可以有多個。
項目需求,使用第二種。
2、Mysql安裝及配置
安裝教程:http://blog.csdn.net/duyuanhai/article/details/36404175
安裝完之后啟動:
1)為Azkaban創建一個數據庫:
# Example database creation command, although the db name doesn't need to be 'azkaban'mysql> CREATE DATABASE azkaban;2) 為Azkaban創建一個數據庫用戶:
# Example database creation command. The user name doesn't need to be 'azkaban'mysql> CREATE USER 'username'@'%' IDENTIFIED BY 'passWord';3) 為用戶賦予Azkaban數據庫的增刪查改的權限:
# 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) 設置mysql的信息包大小,默認的太小,改大一點:
linux配置打開
mysql/conf/my.cnf:[mysqld]...max_allowed_packet=1024M5)重啟mysql:
$ sudo /sbin/service mysqld restart3、 Azkaban Web Server安裝和配置
1) 從GitHub上下載源碼:
gitclonehttps://github.com/azkaban/azkaban.git2) build:
壓縮為tar包:./gradlew distTar或者壓縮為zip包:./gradlew distZip如果不是第一次building,最好先clean一下:./gradlew clean創建的.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 /opttar 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表結構導入mysql
mysql> use azkaban;mysql> source /opt/azkaban-sql-3.1.0/create-all-sql-3.1.0.sql5)配置keystore
azkaban-web-server-3.1.0$ keytool -keystore keystore -alias jetty -genkey -keyalg RSA輸入密鑰庫口令:密鑰庫口令太短-至少必須為6個字符輸入密鑰庫口令:再次輸入新口令:您的名字與姓氏是什么?[Unknown]:firstName您的組織單位名稱是什么?[Unknown]:companyName您的組織名稱是什么?[Unknown]:groupName您所在的城市或區域名稱是什么?[Unknown]:beijing您所在的省/市/自治區名稱是什么?[Unknown]:beijing該單位的雙字母國家/地區代碼是什么?[Unknown]:CNCN=firstName, OU=companyName, O=groupName, L=beijing, ST=beijing, C=CN是否正確?[否]: Y以上配置完成之后會在當前目錄生成一個keystore文件。以下配置會用到。6) 配置conf/azkaban.properties:
如果Azkaban WebServer下面沒有conf目錄,將azkaban-solo-web 下的conf目錄拷貝過來,并作以下配置:
cat conf/azkaban.properties# Azkaban Personalization Settingsazkaban.name=Testazkaban.label=MyLocal Azkabanazkaban.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注意:
配置的默認時區是:default.timezone.id=America/Los_Angeles修改為:default.timezone.id=Asia/Shanghai7) 用戶設置
進入azkaban web服務器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服務器
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目錄下創建文件夾conf/log4j.properties:
log4j.rootLogger=INFO,Clog4j.appender.C=org.apache.log4j.ConsoleAppenderlog4j.appender.C.Target=System.errlog4j.appender.C.layout=org.apache.log4j.PatternLayoutlog4j.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) 啟動執行服務器:
bin/azkaban-executor-start.sh
新聞熱點
疑難解答