前言

目录结构

目前dolphinscheduler 所有的配置文件都在 [conf ] 目录中. 为了更直观的了解[conf]目录所在的位置以及包含的配置文件,请查看下面dolphinscheduler安装目录的简化说明. 本文主要讲述dolphinscheduler的配置文件.其他部分先不做赘述.

[注:以下 dolphinscheduler 简称为DS.]

配置文件详解

dolphinscheduler-daemon.sh脚本负责DS的启动&关闭. start-all.sh/stop-all.sh最终也是通过dolphinscheduler-daemon.sh对集群进行启动/关闭操作. 目前DS只是做了一个基本的设置,JVM参数请根据各自资源的实际情况自行设置.

2.datasource.properties [数据库连接]

在DS中使用Druid对数据库连接进行管理,默认简化配置如下.

参数默认值描述
spring.datasource.driver-class-name数据库驱动
spring.datasource.url数据库连接地址
spring.datasource.username数据库用户名
spring.datasource.password数据库密码
spring.datasource.initialSize5初始连接池数量
spring.datasource.minIdle5最小连接池数量
spring.datasource.maxActive5最大连接池数量
spring.datasource.maxWait60000最大等待时长
spring.datasource.timeBetweenEvictionRunsMillis60000连接检测周期
spring.datasource.timeBetweenConnectErrorMillis60000重试间隔
spring.datasource.minEvictableIdleTimeMillis300000连接保持空闲而不被驱逐的最小时间
spring.datasource.validationQuerySELECT 1检测连接是否有效的sql
spring.datasource.validationQueryTimeout3检测连接是否有效的超时时间[seconds]
spring.datasource.testWhileIdletrue申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。
spring.datasource.testOnBorrowtrue申请连接时执行validationQuery检测连接是否有效
spring.datasource.testOnReturnfalse归还连接时执行validationQuery检测连接是否有效
spring.datasource.defaultAutoCommittrue是否开启自动提交
spring.datasource.keepAlivetrue连接池中的minIdle数量以内的连接,空闲时间超过minEvictableIdleTimeMillis,则会执行keepAlive操作。
spring.datasource.poolPreparedStatementstrue开启PSCache
spring.datasource.maxPoolPreparedStatementPerConnectionSize20要启用PSCache,必须配置大于0,当大于0时,poolPreparedStatements自动触发修改为true。

3.zookeeper.properties [zookeeper连接配置]

参数默认值描述
zookeeper.quorumlocalhost:2181zk集群连接信息
zookeeper.dolphinscheduler.root/dolphinschedulerDS在zookeeper存储根目录
zookeeper.session.timeout60000session 超时
zookeeper.connection.timeout30000连接超时
zookeeper.retry.base.sleep100基本重试时间差
zookeeper.retry.max.sleep30000最大重试时间
zookeeper.retry.maxtime10最大重试次数

4.common.properties [hadoop、s3、yarn配置]

common.properties配置文件目前主要是配置hadoop/s3a相关的配置.

参数默认值描述
server.port12345api服务通讯端口
server.servlet.session.timeout7200session超时时间
server.servlet.context-path/dolphinscheduler请求路径
spring.servlet.multipart.max-file-size1024MB最大上传文件大小
spring.servlet.multipart.max-request-size1024MB最大请求大小
server.jetty.max-http-post-size5000000jetty服务最大发送请求大小
spring.messages.encodingUTF-8请求编码
spring.jackson.time-zoneGMT+8设置时区
spring.messages.basenamei18n/messagesi18n配置
security.authentication.typePASSWORD权限校验类型

6.master.properties [Master服务配置]

参数默认值描述
master.listen.port5678master通讯端口
master.exec.threads100工作线程数量
master.exec.task.num20并行任务数量
master.dispatch.task.num3分发任务数量
master.heartbeat.interval10心跳间隔
master.task.commit.retryTimes5任务重试次数
master.task.commit.interval1000任务提交间隔
master.max.cpuload.avg-1cpu小于该配置时,master 服务才能工作.默认值为-1 : cpu cores * 2
master.reserved.memory0.3内存阈值限制,可用内存大于该值,master 服务才能工作.

7.worker.properties [Worker服务配置]

8.alert.properties [Alert 告警服务配置]

参数默认值描述
alert.typeEMAIL告警类型
mail.protocolSMTP邮件服务器协议
mail.server.host邮件服务器地址
mail.server.port25邮件服务器端口
mail.senderxxx@xxx.com发送人邮箱
mail.user发送人邮箱名称
mail.passwd111111发送人邮箱密码
mail.smtp.starttls.enabletrue邮箱是否开启tls
mail.smtp.ssl.enablefalse邮箱是否开启ssl
mail.smtp.ssl.trustxxx.xxx.com邮箱ssl白名单
xls.file.path/tmp/xls邮箱附件临时工作目录
以下为企业微信配置[选填]
enterprise.wechat.enablefalse企业微信是否启用
xxxxxxx
enterprise.wechat.secretxxxxxxx
enterprise.wechat.agent.idxxxxxxx
enterprise.wechat.usersxxxxxxx
enterprise.wechat.token.url?
corpid=corpId&corpsecret=secret
enterprise.wechat.push.urlhttps://qyapi.weixin.qq.com/cgi-bin/message/send?
access_token=$token
enterprise.wechat.user.send.msg发送消息格式
enterprise.wechat.team.send.msg群发消息格式
plugin.dir/Users/xx/your/path/to/plugin/dir插件目录
参数默认值描述
org.quartz.jobStore.driverDelegateClassorg.quartz.impl.jdbcjobstore.StdJDBCDelegate
org.quartz.jobStore.driverDelegateClassorg.quartz.impl.jdbcjobstore.PostgreSQLDelegate
org.quartz.scheduler.instanceNameDolphinScheduler
org.quartz.scheduler.instanceIdAUTO
org.quartz.scheduler.makeSchedulerThreadDaemontrue
org.quartz.jobStore.usePropertiesfalse
org.quartz.threadPool.classorg.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.makeThreadsDaemonstrue
org.quartz.threadPool.threadCount25
org.quartz.threadPool.threadPriority5
org.quartz.jobStore.classorg.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.tablePrefixQRTZ_
org.quartz.jobStore.isClusteredtrue
org.quartz.jobStore.misfireThreshold60000
org.quartz.jobStore.clusterCheckinInterval5000
org.quartz.jobStore.acquireTriggersWithinLocktrue
org.quartz.jobStore.dataSourcemyDs
org.quartz.dataSource.myDs.connectionProvider.classorg.apache.dolphinscheduler.service.quartz.DruidConnectionProvider

10.install_config.conf [DS环境变量配置脚本[用于DS安装/启动]]

install_config.conf这个配置文件比较繁琐,这个文件主要有两个地方会用到.

  • 2.DS集群的启动&关闭.

11.dolphinscheduler_env.sh [环境变量配置]

通过类似shell方式提交任务的的时候,会加载该配置文件中的环境变量到主机中. 涉及到的任务类型有: Shell任务、Python任务、Spark任务、Flink任务、Datax任务等等

12.各服务日志配置文件