Azkaban-3.x 配置信息说明

本文所指的配置信息是指azkaban.properties文件中的配置项

1. Azkaban Web Server 的配置

(1) 基本配置

配置

说明

默认值

azkaban.name

网页上显示的Azkaban实例的名称

Local

azkaban.label

Azkaban实例的描述信息

My Local Azkaban

azkaban.color

网页的主题颜色

#FF3601

azkaban.default.servlet.path

访问WEB页面默认的根路径

/index

web.resource.dir

CSS和JS文件所在的位置

web/

default.timezone

时区,应该设置为Asia/Shanghai

America/Los_Angeles

viewer.plugin.dir

监控插件安装的路径

plugins/viewer

cache.directory

缓存目录

cache

job.max.Xms

每个Job初始化时分配的内存

1GB

job.max.Xmx

每个Job可以请求到的最大内存

2GB

(2) Jetty 相关的配置

配置

说明

默认值

jetty.port

jetty端口

8081

jetty.use.ssl

是否使用SSL

false

jetty.maxThreads

用于发送请求的最大线程数

25

jetty.ssl.port

SSL port

8443

jetty.keystore

keystore文件的位置

jetty.password

jetty密码

jetty.keypassword

jetty密码

jetty.truststore

truststore文件的位置

jetty.trustpassword

trust密码

(3) Project 管理相关的配置

配置

说明

默认值

project.temp.dir

上传调度任务时使用的临时文件夹

temp

project.version.retention

清理前保留还未进行调度的项目的版本个数

3

creator.default.proxy

自动将项目的创建者作为代理用户添加到项目中

true

lockdown.create.projects

防止除具有Admin角色的人以外的任何人创建新项目

false

lockdown.upload.projects

防止除管理员用户和具有上传项目权限的用户以外的任何人上传调度任务

false

(4) MySQL 相关配置

配置

说明

默认值

database.type

数据库类型,目前只支持MySQL

mysql

mysql.port

MySQL端口号

3306

mysql.host

MySQL主机名

localhost

mysql.database

MySQL数据库

mysql.user

MySQL用户名

mysql.password

MySQL密码

mysql.numconnections

Web客户端可以打开的MySQL连接的最大个数

100

(5) Multiple Executor 模式相关的配置

azkaban.use.multiple.executors

  • 说明:是否开启多executor模式
  • 默认值:false

azkaban.executorselector.filters

  • 说明:当有多个Executor同时启动的时候,需要从中选择一个Executor去执行任务,这里设置一组过滤器的种类,不满足要求的Executor就不会被分配任务,可选的值有:StaticRemainingFlowSize、MinimumFreeMemory和CpuStatus,注意这个配置与顺序无关
  • 默认值:无

azkaban.executorselector.comparator.{ComparatorName}

  • 说明:当设置了Executor的过滤器类型后,还要设置过滤条件,比较器的种类有NumberOfAssignedFlowComparator、Memory、LastDispatched和CpuUsage这4种
  • 举例: (1) azkaban.executorselector.comparator.NumberOfAssignedFlowComparator=1 解释:如果已经某个Executor上已经提交的任务个数大于1个,就不往该Executor上分配任务 (2) azkaban.executorselector.comparator.Memory=1 解释:如果某个Executor所在节点的可用内存不足1G,就不往该节点分配任务 (3) azkaban.executorselector.comparator.CpuUsage=1 解释:如果某个Executor所在节点的可用CPU核数不足1个,就不往该节点分配任务 (4) azkaban.executorselector.comparator.LastDispatched=1 解释:如果上一次任务就是在这个Executor上分配的,那么本次的任务就不分配给这个Executor

azkaban.queueprocessing.enabled

  • 说明:是否启用队列来分配任务
  • 默认值:true

azkaban.webserver.queue.size

  • 说明:队列的大小
  • 默认值:100000

azkaban.activeexecutor.refresh.milisecinterval

  • 说明:统计可用executor个数的时间间隔(ms)
  • 默认值:50000

azkaban.activeexecutor.refresh.flowinterval

  • 说明:用于统计当前阻塞的任务个数的时间间隔(ms)
  • 默认值:5

azkaban.executorinfo.refresh.maxThreads

  • 说明:用于统计以上信息的线程个数
  • 默认值:5

(6) Executor 管理相关配置

配置

说明

默认值

execution.logs.retention.ms

任务执行日志的保留时间(ms)

7257600000L(12 weeks)

(7) 通信邮件相关配置

配置

说明

默认值

mail.sender

azkaban发送通知消息的邮箱地址

mail.host

邮箱服务器的主机名

mail.user

邮箱服务器的用户名

mail.password

邮箱服务器的密码

job.failure.email

任务执行成功发送的邮箱

job.success.email

任务执行失败发送的邮箱

(8) 用户管理相关配置

配置

说明

默认值

user.manager.class

用户管理使用的类(可自定义)

azkaban.user.XmlUserManager

user.manager.xml.file

配置用户信息的xml文件的路径

conf/azkaban-users.xml

(9) 用户 Session 相关配置

配置

说明

默认值

session.time.to.live

用户session超时时间(ms)

86400000

max.num.sessions

最多可以同时开启的session个数

10000

(10) HA 相关配置

配置

说明

默认值

azkaban.webserver.external_hostname

另一个webserver的主机名

azkaban.webserver.external_ssl_port

另一个webserver的ssl端口

azkaban.webserver.external_port=8081

另一个webserver的端口

2. Azkaban Executor Server 配置

(1) 基本配置

配置

说明

默认值

azkaban.webserver.url

web server 的URL

azkaban.jobtype.plugin.dir

jobtype plugin 保存路径

plugins/jobtypes

azkaban.project.dir

项目保存路径

projects

default.timezone.id

Asia/Shanghai

America/Los_Angeles

(2) MySQL 相关配置

配置

说明

默认值

database.type

数据库类型,目前只支持MySQL

mysql

mysql.port

MySQL端口号

3306

mysql.host

MySQL主机名

localhost

mysql.database

MySQL数据库

mysql.user

MySQL用户名

mysql.password

MySQL密码

mysql.numconnections

Web客户端可以打开的MySQL连接的最大个数

100

(3) Executor 相关配置

配置

说明

默认值

executor.port

executor端口

12321

executor.maxThreads

每个executor使用的线程数

executor.flow.threads

每个任务可以使用的线程数

executor.global.propertie

Executor使用的全局配置文件的路径

conf/global.properties

3. 插件配置

Azkaban在安全功能上做了增强,除了可以使用Azkaban配置的用户执行任务以外,也可以使用系统用户来提交任务,这使的Azkaban充分利用了Linux系统的权限安全机制,并且使得资源的可见性提升,简化了监控资源的操作。配置过程如下:

编辑azkaban-exec-server/plugins/jobtypes/commonprivate.properties文件:

# 设置为true,才可以使用系统用户提交任务
execute.as.user=true
# 后面的路径是你放置execute-as-user这个文件的路径
azkaban.native.lib=/path/to/execute-as-user
# 使用系统用户提交的时候,azkaban默认把它们放入azkaban组
# 所以你需要提前创建好azkaban这个组或者修改为一个已存在的组
azkaban.group.name=azkaban

execute-as-user文件的构造过程:

# (1) 在源码包中找到execute-as-user.c文件的位置
# 例如在源码包的az-exec-util/src/main/c/目录下
find . -name execute-as-user.c

# (2) 将execute-as-user.c文件移动到azkaban的安装目录下,例如:
cp ./az-exec-util/src/main/c/execute-as-user.c /opt/azkaban/

# (3) 进去azkaban安装目录,执行以下命令
cd /opt/azkaban/
gcc execute-as-user.c -o execute-as-user
sudo chown root execute-as-user
sudo chmod 6050 execute-as-user

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券