Azkaban是由Linkedin开源的一个批量工作流任务调度器。用于在一个工作流内以一个特定的顺序运行一组工作和流程。Azkaban定义了一种KV文件格式来建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。
安装前准备
(1)将AzkabanWeb服务器、Azkaban执行服务器要安装机器的/opt/software目录下:
azkaban-web-server-2.5.0.tar.gzazkaban-executor-server-2.5.0.tar.gzazkaban-sql-script-2.5.0.tar.gzmysql-libs.zip
(2)目前azkaban只支持mysql作为元数据库,需安装mysql,本文档中默认已安装好mysql服务器
安装Azkaban
(1)在/opt/module/目录下创建azkaban目录(2)解压azkaban-web-server-2.5.0.tar.gz、azkaban-executor-server-2.5.0.tar.gz、azkaban-sql-script-2.5.0.tar.gz到/opt/module/azkaban目录下解压完成后的文件夹如下图所示:
(3)初始化Azkaban的元数据库登录mysql,创建azkaban的数据库,并执行脚本create-all-sql-2.5.0.sql,如下所示:
mysqlcreatedatabaseazkaban;QueryOK,1rowaffected(0.00sec)mysqluseazkaban;Databasechangedmysqlsource/opt/module/azkaban/azkaban-2.5.0/create-all-sql-2.5.0.sql创建SSL配置
(1)生成keystore的密码及相应信息
[root
cdh02azkaban]$keytool-keystorekeystore-aliasjetty-genkey-keyalgRSA输入keystore密码:再次输入新密码:您的名字与姓氏是什么?[Unknown]:您的组织单位名称是什么?[Unknown]:您的组织名称是什么?[Unknown]:您所在的城市或区域名称是什么?[Unknown]:您所在的州或省份名称是什么?[Unknown]:该单位的两字母国家代码是什么[Unknown]:CNCN=Unknown,OU=Unknown,O=Unknown,L=Unknown,ST=Unknown,C=CN正确吗?[否]:y输入jetty的主密码(如果和keystore密码相同,按回车):
(2)将keystore考贝到azkabanweb服务器根目录中
[root
cdh02azkaban]#mvkeystoreazkaban-web-2.5.0/Web服务器配置
(1)进入azkabanweb服务器安装目录conf目录,修改azkaban.properties文件(2)按照如下配置修改azkaban.properties文件
#AzkabanPersonalizationSettings#服务器UI名称,用于服务器上方显示的名字azkaban.name=Test#描述azkaban.label=MyLocalAzkaban#UI颜色azkaban.color=#FFazkaban.default.servlet.path=/index#根web目录,配置绝对路径,即web的目录web.resource.dir=/opt/module/azkaban/azkaban-web-2.5.0/web#默认时区,已改为亚洲/上海默认为美国default.timezone.id=Asia/Shanghai#用户权限管理默认类user.manager.class=azkaban.user.XmlUserManager#用户配置,配置绝对路径,即azkaban-users.xml的路径user.manager.xml.file=/opt/module/azkaban/azkaban-web-2.5.0/conf/azkaban-users.xml#Loaderforprojects.global配置文件所在位置,即global.properties绝对路径executor.global.properties=/opt/module/azkaban/azkaban-executor-2.5.0/conf/global.propertiesazkaban.project.dir=projects#数据库类型database.type=mysqlmysql.port=mysql.host=cdh01mysql.database=azkabanmysql.user=root#数据库密码mysql.password=qwemysql.numconnections=#Velocitydevmodevelocity.dev.mode=false#Jetty服务器属性.#最大线程数jetty.maxThreads=25#JettySSL端口jetty.ssl.port=#Jetty端口jetty.port=#SSL文件名,即keystore绝对路径jetty.keystore=/opt/module/azkaban/azkaban-web-2.5.0/keystore#SSL文件密码,本配置与keystore密码相同jetty.password=qwe#Jetty主密码与keystore文件相同jetty.keypassword=qwe#SSL文件名,即keystore绝对路径jetty.truststore=/opt/module/azkaban/azkaban-web-2.5.0/keystore#SSL文件密码jetty.trustpassword=qwe#执行服务器属性,执行服务器端口executor.port=21#邮件设置,发送邮箱mail.sender=xxxxxxxx
.