新一代大数据任务调度系统-Apache DolphinScheduler 1.3.6 发布

来源: 投稿
2021-04-28

在1.3.6版本中,我们发布了一个重大Future,另外对于K8s以及Docker做了较大的改进,具体如下

1:支持接入SkyWalking

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

主要如下:

-通信协议改造为支持链路跟踪header传递
-任务调度执行核心链路的跟踪
-jvm 指标自动采集,观测vm 状态
-日志输出到skywalking ,可在skywalking web在线查看日志,并与链路跟踪关联起来

感兴趣的同学可以根据[文档](https://dolphinscheduler.apache.org/en-us/docs/latest/user_doc/skywalking-agent-deployment.html)接入SkyWalking来实现DolphinScheduler的链路监控。


2:Docker & K8S


Docker 改进:

- 修复 WORKER_GROUP 不生效问题,更改为 WORKER_GROUPS ([#4843](https://github.com/apache/dolphinscheduler/issues/4843))
- 修复 Windows 的 dolphinscheduler_env.sh 挂载出错问题 ([#4804](https://github.com/apache/dolphinscheduler/issues/4804)) ([#4886](https://github.com/apache/dolphinscheduler/issues/4886))
- 容器内进程优化为 supervisor 管理 ([#2687](https://github.com/apache/dolphinscheduler/issues/2687))
- 优化 supervisor 进程日志输出 ([#4897](https://github.com/apache/dolphinscheduler/issues/4897))
- 适配 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 等 ([#5155](https://github.com/apache/dolphinscheduler/issues/5155))
- 镜像移除冗余的 postgresql-client
- 支持 Hadoop、Spark、Flink、DataX 等任务扩展 ([#5100](https://github.com/apache/dolphinscheduler/issues/5100))
- 添加支持矩阵 ([#5068](https://github.com/apache/dolphinscheduler/issues/5068))
- 添加 [Docker FAQ](https://dolphinscheduler.apache.org/zh-cn/docs/1.3.6/user_doc/docker-deployment.html):如 MySQL、Hadoop、Spark、Oracle 数据源集成等常见问题 ([#4732](https://github.com/apache/dolphinscheduler/issues/4732) [#4871](https://github.com/apache/dolphinscheduler/issues/4871))
- 镜像增加 WORKDIR,移除冗余的 container_name 和 dolphinscheduler-postgresql-initdb

Kubernetes 改进:

- 修复 WORKER_GROUP 不生效问题,更改为 WORKER_GROUPS ([#4843](https://github.com/apache/dolphinscheduler/issues/4843))
- 修复 Minikube 上不正确 host 注册问题 ([#4905](https://github.com/apache/dolphinscheduler/issues/4905))
- 修复所有 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 等任务扩展 ([#5100](https://github.com/apache/dolphinscheduler/issues/5100))
- 添加支持矩阵 ([#5068](https://github.com/apache/dolphinscheduler/issues/5068))
- 添加 [Kubernetes FAQ](https://dolphinscheduler.apache.org/zh-cn/docs/1.3.6/user_doc/kubernetes-deployment.html):如 MySQL、Hadoop、Spark、Oracle 数据源集成等常见问题 ([#2584](https://github.com/apache/dolphinscheduler/issues/2584))
- 优化 master 和 worker 的长 FQDN 地址为短 FQDN 地址,以及地址在 UI 中的显示
- 修复定时任务无法生效的问题 ([#5351](https://github.com/apache/dolphinscheduler/issues/5351))
- 修复 DATA_BASEDIR_PATH, RESOURCE_STORAGE_TYPE 或 RESOURCE_UPLOAD_PATH 未设置导致无法部署的问题
- 修复容器中始终 Runtime.getRuntime().availableProcessors()=1 导致默认 max.cpuload.avg=2,从而任务无法调度执行的问题
- 优化 Helm 的 templates 文件,删除重复的模板和配置
3:Worker Group

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

 

1.3.6 Release Notes

功能/更新

#5062 ] [功能] [WorkerGroup]在Web UI中创建/编辑/删除WorkerGroup
#5175 ] [改进] [Server]优化和减少数据库和Zookeeper的WorkerGroup查询
#4837 ] [改进] [Docker / K8s] Docker和K8s改进
#5023 ] [改进] [Docker / K8s]改进docker和k8s #2584 #2687 #4732 #4837 #4871 #4886 #4897
#5158 ] [改进] [Docker / K8s]支持更多的配置,SkyWalking的配置,
提升镜像扩展性,如安装 Python 库、Python 3 等,更新常见问题并添加支持矩阵#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字段,将显示修改为基于时间的分秒格式(例如, 1d 10h 20m 1s)
#174 ] [改进] [SqlTask​​]在SqlTask​​中添加一个开关来发送邮件和打印头日志
#5187 ] [Build]优化发行版名称并删除未使用的Nginx发行版
#5087 ] [功能] [SqlTask​​]添加一个开关,以发送邮件并在SqlTask
#4624 ][改进] [Server]当server位于失效服务器列表中时of zk,需要自行停止服务
#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]Quartz cron任务无法生效
#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]当外壳中包含睡眠时任务,无法终止任务
#5063 ] [SQL]修复MySQL数据源jdbc connect参数
#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 KeeperException $ NoNodeException
#4674 ] [Bug] [UI]使用用户名和密码登录时的提示错误
#4650 ] [Bug] [Api] PostgreSQL中的流程定义创建,更新和复制错误
#4716 ] [Bug] [Master,Worker]任务执行路径应由Worker计算而非Master计算
#4617] [Bug] [LoggerServer]任务日志无法及时刷新

1.3.6 下载地址https://dolphinscheduler.apache.org/en-us/download/download.html

Apache DolphinScheduler 社区介绍

新一代大数据任务调度 -  Apache DolphinScheduler  11  19 日由 InfoQ 举办、在 300+ 参评项目中脱颖而出获得 “2020 年度十大开源新锐项目”  “2020 年度最具人气新锐项目” 以来,近期社区又荣获 OSCHINA 年度 “最佳技术团队” 称号,非常欢迎更多小伙伴加入到贡献队伍中来,为中国的开源崛起贡献自己的一份力量。

DolphinScheduler 介绍

Apache DolphinScheduler(incubator) 于 17 年在易观数科立项, 19 年 3 月开源,8 月进入 Apache 孵化器,21年3月毕业成为Apache顶级项目。 据不完全统计,已有 400+ 公司在生产上使用。DolphinScheduler 致力于“解决大数据任务之间错综复杂的依赖关系,使整个数据处理流程直观可见”DolphinScheduler以 DAG(有向无环图) 的方式将 Task 组装起来,可实时监控任务的运行状态,同时支持重试、从指定节点恢复失败、暂停及Kill任务等操作。DolphinScheduler 专注于以下 6 个主要能力

Apache 组织崇尚 “社区大于代码DolphinScheduler 目前微信用户群近 4000 人,社区目前有  200 + 贡献者,来自 80+ 家公司、机构和高校(部分统计)

文档贡献者:

代码贡献者:

部分用户案例

据不完全统计,目前已经有 400 + 家公司及机构采用 DolphinScheduler 在生产环境使用,以下是部分案例(排名不分先后)

此外,还有 1700+ 用户注册了 demo 试用,欢迎大家先体验,十分欢迎对比哈。

参与贡献

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

参与 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

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

如果您想参与贡献,却发现上述方法都搞不明白,也没关系,我们有个开发者种子孵化群,可以添加微信(dailidong66) 手把手教会您,添加时请说明想参与贡献哈

DolphinScheduler开源社区非常期待您的参与。

喜欢️ DolphinScheduler 的话,别忘了 Star 收藏一下哟~

展开阅读全文
8 收藏
分享
加载中
0 评论
8 收藏
分享
返回顶部
顶部