Azkaban 3.0 分布式安装部署文档

Azkaban 3.0 分布式安装部署文档

一.简介

Azkaban2.5支持两种运行模式:

1.solo server mode:web executor在同一个进程中执行,适用于H2 DB

2.two server mode: web executor在不同的进程中执行(运行在同一服务器上)数据库为mysql

但是以上两种情况都不适用于分布式部署,1web对应多executors。这个情况在3.0以上得以修复。

Azkaban3.0在原有的两种基础上加入新的运行模式:

multiple executor mode:webexecutor可以运行在不同的服务器上,DB使用mysql

 

二.环境配置

由于azkaban3.0以上没有相应的安装包,需要从源码进行编译。编译的环境需要安装jdk8

项目是gradle项目。

三.编译,安装过程

1.git clone git@github.com:azkaban/azkaban.git azkaban源码,当前为3.24版本

2.进入azkaban 项目进行编译 ./gradlew distTar

编译结果为:

 

azkaban-common : 常用工具类。

azkaban-db : 对应的sql脚本

azkaban-hadoop-secutity-plugin : hadoop 有关kerberos插件

azkaban-solo-server: webexecutor 一起的项目。

azkaban-web/executor-server:azkabanwebexecutorserver信息

azkaban-spi: azkaban存储接口以及exception

3.在数据库中执行azkaban-db下的sql

 sql:

asd

在数据库中创建所有表 create-all. 执行结束后,再执行源码下的upgrade.3.20 to 3.22.sql


4.在编译成功后 azkaban-exec/web-server下目录获取tar文件

 asd

5.解压 azkaban-exec     azkaban-web     azkaban-solo

solo下的conf拷贝至azkaban-exec下, azkaban-web下  删除global.properties即可。

solo下的plugins拷贝至azkaban-exec下,否则会在执行工作流时出现以下错误:

 

这是由于azkaban需要校验提交的用户信息,将plugins/jobtypes/commonprivate.properties中把这个校验关闭了
6.azkaban-exec  和  azkaban-web下创建logs文件夹,并将mysql-connect jar复制到lib文件夹下。

7.多个executor只需要配置链接到同一个数据库就可以了。executor会自动查询executor这张表中,但是默认active0,需要手动修改 active1.azkaban-web在启动时才会注册这些executor。注意,添加了executor需要重启web.

8.executor配置文件修改  /azkaban-web/conf/azkaban.properties:下添加:

#Multiple Executor Mode

#open it if you use the multiple executor mode

azkaban.use.multiple.executors=true

#azkaban.executorselector.filters=StaticRemainingFlowSize,MinimumFreeMemory,CpuStatus

azkaban.executorselector.filters=StaticRemainingFlowSize,CpuStatus

azkaban.executorselector.comparator.NumberOfAssignedFlowComparator=1

azkaban.executorselector.comparator.Memory=1

azkaban.executorselector.comparator.LastDispatched=1

azkaban.executorselector.comparator.CpuUsage=1

 

azkabanmode设置成多executor。其中第二层是过滤一些executor分配条件。

 

9.log4j文件拷贝至azkaban-exec  和  azkaban-web下否则会在启动时出现

Exception: java.lang.StackOverflowError thrown from the UncaughtExceptionHandler in thread "main"

 

10.至此 按照azkaban webjetty keystore配置后就可使用了。。。PS.先启动executor再启动web.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值