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
新闻热点
疑难解答