本文所指的配置信息是指azkaban.properties
文件中的配置项
配置 | 说明 | 默认值 |
---|---|---|
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 |
配置 | 说明 | 默认值 |
---|---|---|
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密码 |
配置 | 说明 | 默认值 |
---|---|---|
project.temp.dir | 上传调度任务时使用的临时文件夹 | temp |
project.version.retention | 清理前保留还未进行调度的项目的版本个数 | 3 |
creator.default.proxy | 自动将项目的创建者作为代理用户添加到项目中 | true |
lockdown.create.projects | 防止除具有Admin角色的人以外的任何人创建新项目 | false |
lockdown.upload.projects | 防止除管理员用户和具有上传项目权限的用户以外的任何人上传调度任务 | false |
配置 | 说明 | 默认值 |
---|---|---|
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 |
azkaban.use.multiple.executors
azkaban.executorselector.filters
azkaban.executorselector.comparator.{ComparatorName}
azkaban.queueprocessing.enabled
azkaban.webserver.queue.size
azkaban.activeexecutor.refresh.milisecinterval
azkaban.activeexecutor.refresh.flowinterval
azkaban.executorinfo.refresh.maxThreads
配置 | 说明 | 默认值 |
---|---|---|
execution.logs.retention.ms | 任务执行日志的保留时间(ms) | 7257600000L(12 weeks) |
配置 | 说明 | 默认值 |
---|---|---|
mail.sender | azkaban发送通知消息的邮箱地址 | |
mail.host | 邮箱服务器的主机名 | |
mail.user | 邮箱服务器的用户名 | |
mail.password | 邮箱服务器的密码 | |
job.failure.email | 任务执行成功发送的邮箱 | |
job.success.email | 任务执行失败发送的邮箱 |
配置 | 说明 | 默认值 |
---|---|---|
user.manager.class | 用户管理使用的类(可自定义) | azkaban.user.XmlUserManager |
user.manager.xml.file | 配置用户信息的xml文件的路径 | conf/azkaban-users.xml |
配置 | 说明 | 默认值 |
---|---|---|
session.time.to.live | 用户session超时时间(ms) | 86400000 |
max.num.sessions | 最多可以同时开启的session个数 | 10000 |
配置 | 说明 | 默认值 |
---|---|---|
azkaban.webserver.external_hostname | 另一个webserver的主机名 | |
azkaban.webserver.external_ssl_port | 另一个webserver的ssl端口 | |
azkaban.webserver.external_port=8081 | 另一个webserver的端口 |
配置 | 说明 | 默认值 |
---|---|---|
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 |
配置 | 说明 | 默认值 |
---|---|---|
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 |
配置 | 说明 | 默认值 |
---|---|---|
executor.port | executor端口 | 12321 |
executor.maxThreads | 每个executor使用的线程数 | |
executor.flow.threads | 每个任务可以使用的线程数 | |
executor.global.propertie | Executor使用的全局配置文件的路径 | conf/global.properties |
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