Apache Dolphinscheduler 1.3.x 系列配置文件指南
前言
本文档为dolphinscheduler配置文件指南,针对版本为 dolphinscheduler-1.3.x 版本. 考虑公众号对markdown文件格式支持不那么友好的问题,建议大家在PC端阅读原文
目录结构
目前dolphinscheduler 所有的配置文件都在 [conf ] 目录中. 为了更直观的了解[conf]目录所在的位置以及包含的配置文件,请查看下面dolphinscheduler安装目录的简化说明. 本文主要讲述dolphinscheduler的配置文件.其他部分先不做赘述.
[注:以下 dolphinscheduler 简称为DS.]
├─bin DS命令存放目录
│ ├─dolphinscheduler-daemon.sh 启动/关闭DS服务脚本
│ ├─start-all.sh 根据配置文件启动所有DS服务
│ ├─stop-all.sh 根据配置文件关闭所有DS服务
├─conf 配置文件目录
│ ├─application-api.properties api服务配置文件
│ ├─datasource.properties 数据库配置文件
│ ├─zookeeper.properties zookeeper配置文件
│ ├─master.properties master服务配置文件
│ ├─worker.properties worker服务配置文件
│ ├─quartz.properties quartz服务配置文件
│ ├─common.properties 公共服务[存储]配置文件
│ ├─alert.properties alert服务配置文件
│ ├─config 环境变量配置文件夹
│ ├─install_config.conf DS环境变量配置脚本[用于DS安装/启动]
│ ├─env 运行脚本环境变量配置目录
│ ├─dolphinscheduler_env.sh 运行脚本加载环境变量配置文件[如: JAVA_HOME,HADOOP_HOME, HIVE_HOME ...]
│ ├─org mybatis mapper文件目录
│ ├─i18n i18n配置文件目录
│ ├─logback-api.xml api服务日志配置文件
│ ├─logback-master.xml master服务日志配置文件
│ ├─logback-worker.xml worker服务日志配置文件
│ ├─logback-alert.xml alert服务日志配置文件
├─sql DS的元数据创建升级sql文件
│ ├─create 创建SQL脚本目录
│ ├─upgrade 升级SQL脚本目录
│ ├─dolphinscheduler-postgre.sql postgre数据库初始化脚本
│ ├─dolphinscheduler_mysql.sql mysql数据库初始化版本
│ ├─soft_version 当前DS版本标识文件
├─script DS服务部署,数据库创建/升级脚本目录
│ ├─create-dolphinscheduler.sh DS数据库初始化脚本
│ ├─upgrade-dolphinscheduler.sh DS数据库升级脚本
│ ├─monitor-server.sh DS服务监控启动脚本
│ ├─scp-hosts.sh 安装文件传输脚本
│ ├─remove-zk-node.sh 清理zookeeper缓存文件脚本
├─ui 前端WEB资源目录
├─lib DS依赖的jar存放目录
├─install.sh 自动安装DS服务脚本
配置文件详解
| 序号 | 服务分类 | 配置文件 |
|---|---|---|
| 1 | 启动/关闭DS服务脚本 | dolphinscheduler-daemon.sh |
| 2 | 数据库连接配置 | datasource.properties |
| 3 | zookeeper连接配置 | zookeeper.properties |
| 4 | 公共[存储]配置 | common.properties |
| 5 | API服务配置 | application-api.properties |
| 6 | Master服务配置 | master.properties |
| 7 | Worker服务配置 | worker.properties |
| 8 | Alert 服务配置 | alert.properties |
| 9 | Quartz配置 | quartz.properties |
| 10 | DS环境变量配置脚本[用于DS安装/启动] | install_config.conf |
| 11 | 运行脚本加载环境变量配置文件 [如: JAVA_HOME,HADOOP_HOME, HIVE_HOME … |
dolphinscheduler_env.sh |
| 12 | 各服务日志配置文件 | api服务日志配置文件 : logback-api.xml master服务日志配置文件 : logback-master.xml worker服务日志配置文件 : logback-worker.xml alert服务日志配置文件 : logback-alert.xml |
1.dolphinscheduler-daemon.sh [启动/关闭DS服务脚本]
dolphinscheduler-daemon.sh脚本负责DS的启动&关闭. start-all.sh/stop-all.sh最终也是通过dolphinscheduler-daemon.sh对集群进行启动/关闭操作. 目前DS只是做了一个基本的设置,JVM参数请根据各自资源的实际情况自行设置.
默认简化参数如下:
export DOLPHINSCHEDULER_OPTS="
-server
-Xmx16g
-Xms1g
-Xss512k
-XX:+UseConcMarkSweepGC
-XX:+CMSParallelRemarkEnabled
-XX:+UseFastAccessorMethods
-XX:+UseCMSInitiatingOccupancyOnly
-XX:CMSInitiatingOccupancyFraction=70
"
不建议设置"-XX:DisableExplicitGC" , DS使用Netty进行通讯,设置该参数,可能会导致内存泄漏.
2.datasource.properties [数据库连接]
在DS中使用Druid对数据库连接进行管理,默认简化配置如下.
| 参数 | 默认值 | 描述 |
|---|---|---|
| spring.datasource.driver-class-name | 数据库驱动 | |
| spring.datasource.url | 数据库连接地址 | |
| spring.datasource.username | 数据库用户名 | |
| spring.datasource.password | 数据库密码 | |
| spring.datasource.initialSize | 5 | 初始连接池数量 |
| spring.datasource.minIdle | 5 | 最小连接池数量 |
| spring.datasource.maxActive | 5 | 最大连接池数量 |
| spring.datasource.maxWait | 60000 | 最大等待时长 |
| spring.datasource.timeBetweenEvictionRunsMillis | 60000 | 连接检测周期 |
| spring.datasource.timeBetweenConnectErrorMillis | 60000 | 重试间隔 |
| spring.datasource.minEvictableIdleTimeMillis | 300000 | 连接保持空闲而不被驱逐的最小时间 |
| spring.datasource.validationQuery | SELECT 1 | 检测连接是否有效的sql |
| spring.datasource.validationQueryTimeout | 3 | 检测连接是否有效的超时时间[seconds] |
| spring.datasource.testWhileIdle | true | 申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。 |
| spring.datasource.testOnBorrow | true | 申请连接时执行validationQuery检测连接是否有效 |
| spring.datasource.testOnReturn | false | 归还连接时执行validationQuery检测连接是否有效 |
| spring.datasource.defaultAutoCommit | true | 是否开启自动提交 |
| spring.datasource.keepAlive | true | 连接池中的minIdle数量以内的连接,空闲时间超过minEvictableIdleTimeMillis,则会执行keepAlive操作。 |
| spring.datasource.poolPreparedStatements | true | 开启PSCache |
| spring.datasource.maxPoolPreparedStatementPerConnectionSize | 20 | 要启用PSCache,必须配置大于0,当大于0时,poolPreparedStatements自动触发修改为true。 |
3.zookeeper.properties [zookeeper连接配置]
| 参数 | 默认值 | 描述 |
| zookeeper.quorum | localhost:2181 | zk集群连接信息 |
| zookeeper.dolphinscheduler.root | /dolphinscheduler | DS在zookeeper存储根目录 |
| zookeeper.session.timeout | 60000 | session 超时 |
| zookeeper.connection.timeout | 30000 | 连接超时 |
| zookeeper.retry.base.sleep | 100 | 基本重试时间差 |
| zookeeper.retry.max.sleep | 30000 | 最大重试时间 |
| zookeeper.retry.maxtime | 10 | 最大重试次数 |
4.common.properties [hadoop、s3、yarn配置]
common.properties配置文件目前主要是配置hadoop/s3a相关的配置.
| 参数 | 默认值 | 描述 |
|---|---|---|
| resource.storage.type | NONE |
资源文件存储类型: HDFS,S3,NONE |
| resource.upload.path | /dolphinscheduler | 资源文件存储路径 |
| data.basedir.path | /tmp/dolphinscheduler | 本地工作目录,存放临时文件 |
| hadoop.security.authentication.startup.state | false | hadoop是否开启kerberos权限 |
| java.security.krb5.conf.path | /opt/krb5.conf | kerberos配置目录 |
| login.user.keytab.username | hdfs-mycluster@ESZ.COM | kerberos登录用户 |
| login.user.keytab.path | /opt/hdfs.headless.keytab | kerberos登录用户keytab |
| resource.view.suffixs | txt,log,sh,conf,cfg,py,java等 | 资源中心支持的文件格式 |
| hdfs.root.user | hdfs | 如果存储类型为HDFS,需要配置拥有对应操作权限的用户 |
| fs.defaultFS | hdfs://mycluster:8020 | 请求地址如果resource.storage.type=S3 ,该值类似为: s3a://dolphinscheduler. 如果resource.storage.type=HDFS, 如果 hadoop 配置了 HA ,需要复制core-site.xml 和 hdfs-site.xml 文件到conf目录 |
| fs.s3a.endpoint | s3 endpoint地址 | |
| fs.s3a.access.key | s3 access key | |
| fs.s3a.secret.key | s3 secret key | |
| yarn.resourcemanager.ha.rm.ids | yarn resourcemanager 地址, 如果resourcemanager开启了HA, 输入HA的IP地址(以逗号分隔),如果resourcemanager为单节点, 该值为空即可. | |
| yarn.application.status.address | http://xx:8088/ws/v1/cluster/apps/%s | 如果resourcemanager开启了HA或者没有使用resourcemanager,保持默认值即可. 如果resourcemanager为单节点,你需要将ds1 配置为resourcemanager对应的hostname |
| dolphinscheduler.env.path | env/dolphinscheduler_env.sh | 运行脚本加载环境变量配置文件[如: JAVA_HOME,HADOOP_HOME, HIVE_HOME …] |
| development.state | false | 是否处于开发模式 |
| kerberos.expire.time | 7 | kerberos过期时间 [小时] |
5.application-api.properties [API服务配置]
| 参数 | 默认值 | 描述 |
| server.port | 12345 | api服务通讯端口 |
| server.servlet.session.timeout | 7200 | session超时时间 |
| server.servlet.context-path | /dolphinscheduler | 请求路径 |
| spring.servlet.multipart.max-file-size | 1024MB | 最大上传文件大小 |
| spring.servlet.multipart.max-request-size | 1024MB | 最大请求大小 |
| server.jetty.max-http-post-size | 5000000 | jetty服务最大发送请求大小 |
| spring.messages.encoding | UTF-8 | 请求编码 |
| spring.jackson.time-zone | GMT+8 | 设置时区 |
| spring.messages.basename | i18n/messages | i18n配置 |
| security.authentication.type | PASSWORD | 权限校验类型 |
6.master.properties [Master服务配置]
| 参数 | 默认值 | 描述 |
| master.listen.port | 5678 | master通讯端口 |
| master.exec.threads | 100 | 工作线程数量 |
| master.exec.task.num | 20 | 并行任务数量 |
| master.dispatch.task.num | 3 | 分发任务数量 |
| master.heartbeat.interval | 10 | 心跳间隔 |
| master.task.commit.retryTimes | 5 | 任务重试次数 |
| master.task.commit.interval | 1000 | 任务提交间隔 |
| master.max.cpuload.avg | -1 | cpu小于该配置时,master 服务才能工作.默认值为-1 : cpu cores * 2 |
| master.reserved.memory | 0.3 | 内存阈值限制,可用内存大于该值,master 服务才能工作. |
7.worker.properties [Worker服务配置]
| 参数 | 默认值 | 描述 |
| worker.listen.port | 1234 | worker通讯端口 |
| worker.exec.threads | 100 | 工作线程数量 |
| worker.heartbeat.interval | 10 | 心跳间隔 |
| worker.max.cpuload.avg | -1 | cpu小于该配置时,worker 服务才能工作. 默认值为-1 : cpu cores * 2 |
| worker.reserved.memory | 0.3 | 内存阈值限制,可用内存大于该值,worker 服务才能工作. |
| worker.group | default | workgroup分组配置. worker启动时会根据该配置自动加入对应的分组. |
8.alert.properties [Alert 告警服务配置]
| 参数 | 默认值 | 描述 |
| alert.type | 告警类型 | |
| mail.protocol | SMTP | 邮件服务器协议 |
| mail.server.host | xxx.xxx.com | 邮件服务器地址 |
| mail.server.port | 25 | 邮件服务器端口 |
| mail.sender | xxx@xxx.com[1] | 发送人邮箱 |
| mail.user | xxx@xxx.com[2] | 发送人邮箱名称 |
| mail.passwd | 111111 | 发送人邮箱密码 |
| mail.smtp.starttls.enable | true | 邮箱是否开启tls |
| mail.smtp.ssl.enable | false | 邮箱是否开启ssl |
| mail.smtp.ssl.trust | xxx.xxx.com | 邮箱ssl白名单 |
| xls.file.path | /tmp/xls | 邮箱附件临时工作目录 |
| 以下为企业微信配置[选填] | ||
| enterprise.wechat.enable | false | 企业微信是否启用 |
| enterprise.wechat.corp.id | xxxxxxx | |
| enterprise.wechat.secret | xxxxxxx | |
| enterprise.wechat.agent.id | xxxxxxx | |
| enterprise.wechat.users | xxxxxxx | |
| enterprise.wechat.token.url | https://qyapi.weixin.qq.com/cgi-bin/gettoken? corpid=$corpId&corpsecret=$secret |
|
| enterprise.wechat.push.url | https://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 | 插件目录 |
9.quartz.properties [Quartz配置]
这里面主要是quartz配置,请结合实际业务场景&资源进行配置,本文暂时不做展开.
| 参数 | 默认值 | 描述 |
|---|---|---|
| org.quartz.jobStore.driverDelegateClass | org.quartz.impl.jdbcjobstore.StdJDBCDelegate | |
| org.quartz.jobStore.driverDelegateClass | org.quartz.impl.jdbcjobstore.PostgreSQLDelegate | |
| org.quartz.scheduler.instanceName | DolphinScheduler | |
| org.quartz.scheduler.instanceId | AUTO | |
| org.quartz.scheduler.makeSchedulerThreadDaemon | true | |
| org.quartz.jobStore.useProperties | false | |
| org.quartz.threadPool.class | org.quartz.simpl.SimpleThreadPool | |
| org.quartz.threadPool.makeThreadsDaemons | true | |
| org.quartz.threadPool.threadCount | 25 | |
| org.quartz.threadPool.threadPriority | 5 | |
| org.quartz.jobStore.class | org.quartz.impl.jdbcjobstore.JobStoreTX | |
| org.quartz.jobStore.tablePrefix | QRTZ_ | |
| org.quartz.jobStore.isClustered | true | |
| org.quartz.jobStore.misfireThreshold | 60000 | |
| org.quartz.jobStore.clusterCheckinInterval | 5000 | |
| org.quartz.jobStore.acquireTriggersWithinLock | true | |
| org.quartz.jobStore.dataSource | myDs | |
| org.quartz.dataSource.myDs.connectionProvider.class | org.apache.dolphinscheduler.service.quartz.DruidConnectionProvider |
10.install_config.conf [DS环境变量配置脚本[用于DS安装/启动]]
install_config.conf这个配置文件比较繁琐,这个文件主要有两个地方会用到.
•1.DS集群的自动安装.
调用install.sh脚本会自动加载该文件中的配置.并根据该文件中的内容自动配置上述的配置文件中的内容. 比如:dolphinscheduler-daemon.sh、datasource.properties、zookeeper.properties、common.properties、application-api.properties、master.properties、worker.properties、alert.properties、quartz.properties 等文件.
•2.DS集群的启动&关闭.
DS集群在启动&关闭的时候,会加载该配置文件中的masters,workers,alertServer,apiServers等参数,启动/关闭DS集群.
文件内容如下:
# 注意: 该配置文件中如果包含特殊字符,如: `.*[]^${}\+?|()@#&`, 请转义,
# 示例: `[` 转义为 `\[`
# 数据库类型, 目前仅支持 postgresql 或者 mysql
dbtype="mysql"
# 数据库 地址 & 端口
dbhost="192.168.xx.xx:3306"
# 数据库 名称
dbname="dolphinscheduler"
# 数据库 用户名
username="xx"
# 数据库 密码
password="xx"
# Zookeeper地址
zkQuorum="192.168.xx.xx:2181,192.168.xx.xx:2181,192.168.xx.xx:2181"
# 将DS安装到哪个目录,如: /data1_1T/dolphinscheduler,
installPath="/data1_1T/dolphinscheduler"
# 使用哪个用户部署
# 注意: 部署用户需要sudo 权限, 并且可以操作 hdfs .
# 如果使用hdfs的话,根目录必须使用该用户进行创建.否则会有权限相关的问题.
deployUser="dolphinscheduler"
# 以下为告警服务配置
# 邮件服务器地址
mailServerHost="smtp.exmail.qq.com"
# 邮件服务器 端口
mailServerPort="25"
# 发送者
mailSender="xxxxxxxxxx"
# 发送用户
mailUser="xxxxxxxxxx"
# 邮箱密码
mailPassword="xxxxxxxxxx"
# TLS协议的邮箱设置为true,否则设置为false
starttlsEnable="true"
# 开启SSL协议的邮箱配置为true,否则为false。注意: starttlsEnable和sslEnable不能同时为true
sslEnable="false"
# 邮件服务地址值,同 mailServerHost
sslTrust="smtp.exmail.qq.com"
#业务用到的比如sql等资源文件上传到哪里,可以设置:HDFS,S3,NONE。如果想上传到HDFS,请配置为HDFS;如果不需要资源上传功能请选择NONE。
resourceStorageType="NONE"
# if S3,write S3 address,HA,for example :s3a://dolphinscheduler,
# Note,s3 be sure to create the root directory /dolphinscheduler
defaultFS="hdfs://mycluster:8020"
# 如果resourceStorageType 为S3 需要配置的参数如下:
s3Endpoint="http://192.168.xx.xx:9010"
s3AccessKey="xxxxxxxxxx"
s3SecretKey="xxxxxxxxxx"
# 如果ResourceManager是HA,则配置为ResourceManager节点的主备ip或者hostname,比如"192.168.xx.xx,192.168.xx.xx",否则如果是单ResourceManager或者根本没用到yarn,请配置yarnHaIps=""即可,如果没用到yarn,配置为""
yarnHaIps="192.168.xx.xx,192.168.xx.xx"
# 如果是单ResourceManager,则配置为ResourceManager节点ip或主机名,否则保持默认值即可。
singleYarnIp="yarnIp1"
# 资源文件在 HDFS/S3 存储路径
resourceUploadPath="/dolphinscheduler"
# HDFS/S3 操作用户
hdfsRootUser="hdfs"
# 以下为 kerberos 配置
# kerberos是否开启
kerberosStartUp="false"
# kdc krb5 config file path
krb5ConfPath="$installPath/conf/krb5.conf"
# keytab username
keytabUserName="hdfs-mycluster@ESZ.COM"
# username keytab path
keytabPath="$installPath/conf/hdfs.headless.keytab"
# api 服务端口
apiServerPort="12345"
# 部署DS的所有主机hostname
ips="ds1,ds2,ds3,ds4,ds5"
# ssh 端口 , 默认 22
sshPort="22"
# 部署master服务主机
masters="ds1,ds2"
# 部署 worker服务的主机
# 注意: 每一个worker都需要设置一个worker 分组的名称,默认值为 "default"
workers="ds1:default,ds2:default,ds3:default,ds4:default,ds5:default"
# 部署alert服务主机
alertServer="ds3"
# 部署api服务主机
apiServers="ds1"
11.dolphinscheduler_env.sh [环境变量配置]
通过类似shell方式提交任务的的时候,会加载该配置文件中的环境变量到主机中. 涉及到的任务类型有: Shell任务、Python任务、Spark任务、Flink任务、Datax任务等等
export HADOOP_HOME=/opt/soft/hadoop
export HADOOP_CONF_DIR=/opt/soft/hadoop/etc/hadoop
export SPARK_HOME1=/opt/soft/spark1
export SPARK_HOME2=/opt/soft/spark2
export PYTHON_HOME=/opt/soft/python
export JAVA_HOME=/opt/soft/java
export HIVE_HOME=/opt/soft/hive
export FLINK_HOME=/opt/soft/flink
export DATAX_HOME=/opt/soft/datax/bin/datax.py
export PATH=$HADOOP_HOME/bin:$SPARK_HOME1/bin:$SPARK_HOME2/bin:$PYTHON_HOME:$JAVA_HOME/bin:$HIVE_HOME/bin:$PATH:$FLINK_HOME/bin:$DATAX_HOME:$PATH
12.各服务日志配置文件
| 对应服务服务名成 | 日志文件名 |
|---|---|
| api服务日志配置文件 | logback-api.xml |
| master服务日志配置文件 | logback-master.xml |
| worker服务日志配置文件 | logback-worker.xml |
| alert服务日志配置文件 | logback-alert.xml |
13
参与贡献
随着国内开源的崛起,DolphinScheduler迎来了蓬勃发展,为了做更好用的调度,真诚欢迎热爱开源的伙伴加入到开源社区中来,为中国开源崛起献上一份自己的力量,青春在开源上留下一点印记
参与 DolphinScheduler 社区有非常多的参与贡献的方式,包括:
贡献第一个PR(文档、代码) 我们也希望是简单的,第一个PR用于熟悉提交的流程和社区协作以及感受社区的友好度
社区汇总了以下适合新手的问题列表:https://github.com/apache/incubator-dolphinscheduler/issues/4124
如何参与贡献链接:https://dolphinscheduler.apache.org/zh-cn/docs/development/contribute.html
文档 github 地址:https://github.com/apache/incubator-dolphinscheduler-website
来吧,DolphinScheduler开源社区需要您的参与,为中国开源崛起添砖加瓦吧,哪怕只是小小的一块瓦,汇聚起来的力量也是巨大的
如果您想参与贡献,却发现上述方法都搞不明白,也没关系,我们有个开发者种子孵化群,可以添加微信(easyworkflow) 手把手教会您,添加时请说明想参与贡献哈
DolphinScheduler开源社区非常期待您的参与。
DolphinScheduler's Github Repo 传送门
↓↓↓
https://github.com/apache/incubator-dolphinscheduler
喜欢️ DolphinScheduler 的话,别忘了 Star 收藏一下哟~
Apache Dolphinscheduler 1.3.x 系列配置文件指南的更多相关文章
- Apache DolphinScheduler(海豚调度) - 1.3 系列核心表结构剖析
Apache DolphinScheduler 是一个分布式去中心化,易扩展的可视化 DAG 工作流任务调度系统.致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用. 近日 ...
- 手把手教你 Apache DolphinScheduler 本地开发环境搭建 | 中英文视频教程
点击上方 蓝字关注我们 最近,一些小伙伴反馈对小海豚的本地开发环境搭建过程不太了解,这不就有活跃的贡献者送来新鲜的视频教程!在此感谢@Tianqi-Dotes 的细致讲解 贡献者还贴心地录制了中英文两 ...
- Apache DolphinScheduler 1.3.8 发布
小伙伴们 Apache DolphinScheduler 1.3.8 发布 2021年9月7日,正式发布 在 1.3.8 版本中,我们在 Docker&k8s 这里做了许多优化,Docker ...
- Apache DolphinScheduler新一代分布式工作流任务调度平台实战-上
概述 定义 dolphinscheduler 官网地址 https://dolphinscheduler.apache.org/ dolphinscheduler GitHub地址 https://g ...
- Apache DolphinScheduler 3.0.0 正式版发布!
点亮 ️ Star · 照亮开源之路 GitHub:https://github.com/apache/dolphinscheduler 版本发布 2022/8/10 2022 年 8 ...
- 数据平台调度升级改造 | 从Azkaban 平滑过度到 Apache DolphinScheduler 的操作实践
Fordeal的数据平台调度系统之前是基于Azkaban进行二次开发的,但是在用户层面.技术层面都存在一些痛点问题难以被解决.比如在用户层面缺少任务可视化编辑界面.补数等必要功能,导致用户上手难体验差 ...
- 金融任务实例实时、离线跑批Apache DolphinScheduler在新网银行的三大场景与五大优化
在新网银行,每天都有大量的任务实例产生,其中实时任务占据多数.为了更好地处理任务实例,新网银行在综合考虑之后,选择使用 Apache DolphinScheduler 来完成这项挑战.如今,新网银行多 ...
- Apache DolphinScheduler 2.0.1 来了,备受期待的一键升级、插件化终于实现
✎ 编 者 按:好消息!Apache DolphinScheduler 2.0.1 版本正式发布! 本版本中,DolphinScheduler 经历了一场微内核+插件化的架构改进,70% 的代码被重构 ...
- 从 Airflow 到 Apache DolphinScheduler,有赞大数据开发平台的调度系统演进
点击上方 蓝字关注我们 作者 | 宋哲琦 ✎ 编 者 按 在不久前的 Apache DolphinScheduler Meetup 2021 上,有赞大数据开发平台负责人 宋哲琦 带来了平台调度系统 ...
随机推荐
- hexo + typora 图片插入解决办法
Typora 是一款知名的 Markdown 编辑器,简单好用,体验良好.使用 hexo 搭建好博客后,主要是用 Markdown 来编写博客,typora 便是我的首选编辑器.但直接使用 typor ...
- 创建NuGet本地包源
NuGet 是免费.开源的包管理开发工具,专注于在 .NET 应用开发过程中,简单地合并第三方的组件库.使用Visual Studio 可以很方便地将类库等项目打包发布,最简单的办法是上传到Nuget ...
- C#/VB.NET 在PDF表格中添加条形码
条码的应用已深入生活和工作的方方面面.在处理条码时,常需要和各种文档格式相结合.当需要在文档中插入.编辑或者删除条码时,可借助于一些专业的类库工具来实现.本文,以操作PDF文件为例,介绍如何在编辑表格 ...
- Git使用 - 忽略特定文件 - gitignore
1. 背景 2. 创建.gitignore 文件 3. 文件内容样式 4. exclude文件 5. gitignore 文件模板 6. 参考文档 1. 背景 前提知识:在工作目录下的每一个文件都不外 ...
- 华为云Stack首席架构师:打造“称手”的数字化工具,答好政企IT数字化转型这道必选题
摘要:数字化转型是一号位工程,数字化的工具本身就是企业的核心竞争力. 本文分享自华为云社区<华为云Stack首席架构师:打造"称手"的数字化工具,答好政企IT数字化转型这道必 ...
- JAVA面向对象之封装和调用
一 面向对象 面向对象的三大特性 1 封装:概念:封装是把过程和数据私有化,打包封存起来,对数据访问只能通过指定的方式.简单的可以理解为你把钱存到银行里,银行专员首先要给你开一个账户,之后你的 ...
- 【Redis】事件驱动框架源码分析(多线程)
IO线程初始化 Redis在6.0版本中引入了多线程,提高IO请求处理效率. 在Redis Server启动函数main(server.c文件)中初始化服务之后,又调用了InitServerLast函 ...
- awk运用三维数组进行插值获得任意经纬度处的水层沉积层地壳厚度
awk三维数组与插值 目的:给定经纬度,获得该点地下的冰层水层沉积层和地壳的厚度 实现:awk一行命令 下载Crust1.0模型 该数据集的详细介绍见官网. 解压后有几个文件:crust1.vp,cr ...
- 30.Mysql主从复制、读写分离
Mysql主从复制.读写分离 目录 Mysql主从复制.读写分离 读写分离 读写分离概述 为什么要读写分离 什么时候要读写分离 主从复制与读写分离 mysql支持的复制类型 主从复制的工作过程 初始环 ...
- 3D可视化在化工领域的应用及案例分享
2020年,中办.国办印发的<关于全面加强危险化学品安全生产工作的意见>中重点提出应加快"推进化工园区安全生产信息化.智能化平台建设,实现对园区内企业.重点场所.重大危险源.基础 ...