Apache DolphinScheduler 1.3.6 功能发布说明

2022-10-15,,,,

参与人员

@chengshiwen、@hailin0、@wanghong1314、@ruanwenjun、@xxjingcd、@zhangguohao、@zhuangchong、@syb853553110、@wangdazhong001、@CalvinKirs、@AlleriaWindrunner、@597365581 、@lenboo 、@yakcy

感谢各位的参与,让Apache DolphinScheduler更加茁壮的成长,期待更多的小伙伴可以加入进来。

加入方式可以参考文章末尾的相关介绍。

功能

支持接入SkyWalking

我们同Apache SkyWalking社区一起协作完成了DolphinScheduler的链路监控设计以及开发。

主要如下:

通信协议改造为支持链路跟踪header传递

任务调度执行核心链路的跟踪

jvm指标自动采集,观测vm状态

日志输出到skywalking ,可在skywalking web在线查看日志,并与链路跟踪关联起来

PS:感兴趣的同学可以根据文档接入SkyWalking来实现DolphinScheduler的链路监控。

重要优化

1

Docker & K8S

Docker 优化:

修复 WORKER_GROUP 不生效问题,更改为 WORKER_GROUPS

修复Windows的dolphinscheduler_env.sh 挂载出错问题

容器内进程优化为 supervisor 管理

优化 supervisor 进程日志输

适配 docker compose file 3.1+ 版本

同步最新 1.3.6 版本所有配置项,包括 common、master、worker

新增 config.env.sh 环境变量配置文件,用于配置 docker compose 和 swarm

新增MASTER_SERVER_OPTS,WORKER_SERVER_OPTS, ALERT_SERVER_OPTS,API_SERVER_OPTS, LOGGER_SERVER_OPTS 环境变量

支持 SkyWalking 配置和集成

更新基础镜像为 debian:slim,提升镜像扩展性,如安装 Python 库、Python 3 等

镜像移除冗余的 postgresql-client

支持 Hadoop、Spark、Flink、DataX 等任务扩展

添加支持矩阵

添加如 MySQL、Hadoop、Spark、Oracle 数据源集成等常见问题

镜像增加WORKDIR,移除冗余的 container_name和dolphinscheduler-postgresql-initdb

Kubernetes 优化:

修复 WORKER_GROUP 不生效问题,更改为WORKER_GROUPS

修复Minikube 上不正确 host 注册问题

修复所有Kubernetes 1.12+的Ingress兼容性问题

优化values.yaml配置文件

合并image的registry和repository为 repository 字段,支持本地镜像

修改imagePullSecrets 为image的pullSecret 字段

新增 externalDatabase 的 type、driver、params 字段,可以支持非 PostgreSQL 的外部数据库

新增common 字段,用于配置 common.properties、 dolphinscheduler_env.sh 等公共环境变量配置

新增common.sharedStoragePersistence字段,用户api、master、worker 共享存储,如 Hadoop、Spark二进制包

修改resource.persistentVolumeClaim为common.fsFileResourcePersistence字段

移除 resource 字段

master、worker、api、alert 新增字段:annotations、resources,后者用于配置 cpu、memory 资源

新增api.service 字段,支持 ExternalName、ClusterIP、ClusterIP、LoadBalancer 等多种暴露方式

优化ingress.path为/dolphinscheduler

移除冗余的 ingress.hosts

同步最新 1.3.6 版本所有配置项,包括 common、master、worker

新增MASTER_SERVER_OPTS, WORKER_SERVER_OPTS, ALERT_SERVER_OPTS, API_SERVER_OPTS, LOGGER_SERVER_OPTS 环境变量

支持 SkyWalking 配置和集成

支持 Hadoop、Spark、Flink、DataX 等任务扩展

添加支持矩阵

添加如 MySQL、Hadoop、Spark、Oracle 数据源集成等常见问题

优化 master 和 worker 的长 FQDN 地址为短 FQDN 地址,以及地址在 UI 中的显示

修复定时任务无法生效的问题

修复 DATA_BASEDIR_PATH,  RESOURCE_STORAGE_TYPE 或 RESOURCE_UPLOAD_PATH 未设置导致无法部署的问题

修复容器中始终  Runtime.getRuntime().availableProcessors()=1 导致默认 max.cpuload.avg=2,从而任务无法调度执行的问题

优化 Helm 的 templates 文件,删除重复的模板和配置

2

Worker Group

支持在 Web UI 创建、编辑、删除等操作

其他功能

优化:

[#5062][功能][WorkerGroup]在WebUI中创建/编辑/删除WorkerGroup

[#5175][优化][Server]优化和减少数据库和Zookeeper的WorkerGroup查询

[#4837][优化][Docker/K8s]Docker和K8优化

[#5023][优化][Docker/K8s]改进docker和k8s#2584#2687#4732#4837#4871#4886#4897

[#5158][优化][Docker/K8s]支持更多的配置,SkyWalking的配置,提升镜像扩展性,如安装Python库、Python3等,更新常见问题并添加支持矩阵#4837#5155#5068#5141#402#403

[#5068][优化] [Docker/K8s] Docker/k8s上的任务支持矩阵和解决方案

[#5195][优化][Docker/K8s]改善反馈#5309#5310

[#5100][功能][K8s]支持在Spark,Flink和DataX等K8上的任务可伸缩性

[#5224][优化][Docker]为dockerfile添加工作目录并删除冗余的container_name和dolphinscheduler-postgresql-initdb

[#4852][功能]支持SkyWalking代理插件

[#5310][优化][Server]负载日志修改,具体信息更加清晰明了

[#5028][功能][MR]支持MapReduce名称

[#4960][功能][Spark]支持Spark名称

[#4285][功能]添加Flink作业名称

[#4976][功能][Flink]支持名称和并行输入

[#4805][优化][SQL]将升级后的架构放置到正确的版本目录中,并检查架构错误

[#4751][优化][API]改进Duration字段,将显示修改为基于时间的分秒格式(例如,1d10h20m1s)

[#174][优化][SqlTask]在SqlTask中添加一个开关来发送邮件和打印头日志

[#5187][Build]优化发行版名称并删除未使用的Nginx发行版

[#5087][功能][SqlTask]添加一个开关,以发送邮件并在SqlTask

[#4624][优化][Server]当server位于失效服务器列表中时ofzk,需要自行停止服务

[#4969][优化][UI]在文件详细信息页面中支持更多文件类型

[#2619][优化][API]/dolphinscheduler/projects/create创建成功后返回项目ID

修复:

[#5309][Bug]memoryUsage为-33%

[#4843][Bug][Docker]1.3.5版本文件配置错误WORKER_GROUP

[#4651][Bug][Docker]Docker中出现随机PSQLException

[#5351[Bug][K8s]Quartzcron任务无法生效

[#4905][Bug][K8s]minikube中的主机问题不正确

[#5176][Bug][Server]错误的 excludeFilters导致工作服务器启动主服务器bean和诸如  LowerWeightHostManager和 RefreshResourceTask

[#5132][Bug][server]当taskExecuteThread线程发生异常时,任务不能立刻停止

[#5150][Bug][server]DB事务失败

[#5103][Bug][Resource]File和UDF的文件名资源未更改,并且在重命名名称后无法重新上传

[#5349][Bug][master]手动杀死无法重试的任务。并行任务成功执行后,工作流程状态将始终运行

[#5328][Bug][MasterServer]包含依赖任务时,任务失败后可能导致流程处于始终运行状态

[#5199][Bug][api]当shell任务中存在sleep的时候无法被kill

[#5063][SQL]修复MySQL数据源jdbcconnect参数

[#5048][Bug][Api]删除已停止的工作流程而不删除相应的子流程,该工作流程实例名称未显示在子流程中

[#5044][Bug][Master]过滤空Host导致未执行Master启动容错

[#5037][Bug][Server]重新启动和停止后,Master和Worker都处于挂起状态

[#4866][Bug][Common]未加载hdfs-site.xml导致客户端无法访问数据节点

[#4862][[Bug][Server]Kill任务异常处理

[#4840][Bug]多个Master同时启动,会导致全局容错逻辑错误

[#4816][Bug][API]当时间参数错误时,API调用工作流实例查询接口并查询所有数据

[#4738][Bug]发送邮件失败的情况下任务执行应该成功

[#4760][Bug]初始化 dolphinscheduler-postgre.sql错误

[#4705][Bug][API]解决zk调用异常的问题

[#4674][Bug][UI]使用用户名和密码登录时的提示错误

[#4650][Bug][Api]PostgreSQL中的流程定义创建,更新和复制错误

[#4716][Bug][Master,Worker]任务执行路径应由Worker计算而非Master计算

[#4617][Bug][LoggerServer]任务日志无法及时刷新

参与Apache DolphinScheduler

参与贡献

随着国内开源的崛起,Apache DolphinScheduler迎来了蓬勃发展,为了做更好用的调度,真诚欢迎热爱开源的伙伴加入到开源社区中来,为中国开源崛起献上一份自己的力量,青春在开源上留下一点印记。

参与 DolphinScheduler 社区有非常多的参与贡献的方式,包括:

贡献第一个PR(文档、代码) 我们也希望是简单的,第一个PR用于熟悉提交的流程和社区协作以及感受社区的友好度。

社区汇总了以下适合新手的问题列表:https://github.com/apache/dolphinscheduler/issues/4124

如何参与贡献链接:https://dolphinscheduler.apache.org/en-us/community/development/contribute.html

文档github 地址:https://github.com/apache/dolphinscheduler-website

快来加入吧,Apache DolphinScheduler开源社区需要您的参与,为中国开源崛起添砖加瓦吧,哪怕只是小小的一块瓦,汇聚起来的力量也是巨大的。

官方下载地址:

https://dolphinscheduler.apache.org/en-us/download/download.html

SkyWalking Agent部署:

https://dolphinscheduler.apache.org/zh-cn/docs/latest/user_doc/skywalking-agent-deployment.html

Apache DolphinScheduler 1.3.6 功能发布说明的相关教程结束。

《Apache DolphinScheduler 1.3.6 功能发布说明.doc》

下载本文的Word格式文档,以方便收藏与打印。