乐趣区

关于workflow:300-alpha-重磅发布九大新功能全新-UI-解锁调度系统新能力

2022 年 4 月 22 日,Apache DolphinScheduler 正式发表 3.0.0 alpha 版本公布!此次版本升级迎来了自发版以来的最大变动,泛滥全新性能和个性为用户带来新的体验和价值。3.0.0-alpha 的关键字,总结起来是“更快、更现代化、更强、更易保护”。

更快、更现代化:重构了 UI 界面,新 UI 不仅用户响应速度进步数十倍,开发者构建速度也进步数百倍,且页面布局、图标款式都更加现代化;

更强:带来了许多振奋人心的新性能,如数据品质评估、自定义时区、反对 AWS,并新增多个工作插件和多个告警插件;

更易保护:后端服务拆分更加合乎容器化和微服务化的发展趋势,还能明确各个服务的职责,让保护更加简略。

新性能和新个性

01 全新 UI,前端代码更强壮,速度更快

3.0.0-alpha 最大的变动是引入了新的 UI,切换语言页面无需从新加载,并且新增了深色主题。新 UI 应用了 Vue3、TSX、Vite 相干技术栈。比照旧版 UI,新 UI 不仅更加现代化,操作也更加人性化,前端的鲁棒性也更强,使用户在编译时一旦发现代码中的问题,能够对接口参数进行校验,从而使前端代码更加强壮。

此外,新架构和新技术栈不仅能让用户在操作 Apache DolphinScheduler 时响应速度有数十倍的晋升,同时开发者本地编译和启动 UI 的速度有了数百倍的晋升,这将大大缩短开发者调试和打包代码所需的工夫。
新 UI 应用体验:

本地启动耗时比照

首页


工作流实例页面

Shell 工作页面


MySQL 数据源页面

02 反对 AWS

随着 Apache DolphinScheduler 用户群体越来越丰盛,吸引了很多海内用户。但在海内业务场景下,用户在调研过程中发现有两个影响用户便捷体验 Apache DolphinScheduler 的点,一个是时区问题,另一个则是对海内云厂商,尤其是对 AWS 的反对有余。为此,咱们决定对 AWS 较为重要的组件进行反对,这也是此版本的最重大的变动之一。

目前,Apache DolphinScheduler 对 AWS 的反对曾经涵盖 Amazon EMR 和 Amazon Redshift 两个 AWS 的工作类型,并实现了资源核心反对 Amazon S3 存储。

针对 Amazon EMR,咱们创立了一个新的工作类型,并提供了其 Run Job Flow 的性能,容许用户向 Amazon EMR 提交多个 steps 作业,并指定应用的资源数量。详情可见:https://dolphinscheduler.apac…


Amazon EMR 工作定义

对于 Amazon Redshift,咱们目前在 SQL 工作类型中扩大了对 Amazon Redshift 数据源的反对,当初用户能够在 SQL 工作中抉择 Redshift 数据源来运行 Amazon Redshift 工作。

Amazon Redshift 反对

对于 Amazon S3,咱们扩大了 Apache DolphinScheduler 的资源核心,使其不仅能反对本地资源、HDFS 资源存储,同时反对 Amazon S3 作为资源核心的贮存。详情可见:https://dolphinscheduler.apac… 中的

resource.storage.type

后续咱们将用户的理论需要反对更多 AWS 工作,敬请期待。

03 服务拆分

全新的 UI 是 3.0.0-alpha 前端的最大变动,而后端最大的变动就是对服务进行拆分。思考到容器和微服务的概念越来越炽热,Apache DolphinScheduler 开发者做出了重大决定:对后端服务进行拆分。依照职能,咱们将服务拆分成了以下几局部:

master-server: master 服务

worker-server: worker 服务

api-server: API 服务

alert-server: 告警服务

standalone-server: standalone 用于疾速体验 dolphinscheduler 性能

ui: UI 资源

bin: 疾速启动脚本,次要是启动各个服务的脚本

tools: 工具相干脚本,次要蕴含数据库创立,更新脚本

所有的服务都能够通过执行上面的命令进行启动或者进行。

bin/dolphinscheduler-daemon.sh <start|stop> <server-name>

04 数据品质校验

此版本中,用户期待已久的数据品质校验利用性能上线,解决了从源头同步的数据条数准确性,单表或多表周均、月均稳定超过阈值告警等数据品质问题。Apache DolphinScheduler 此前版本解决了将工作以特定程序和工夫运行的问题,但数据运行完之后对数据的品质始终没有较为通用的衡量标准,用户须要付出额定的开发成本。

当初,3.0.0-alpha 曾经实现了数据品质原生反对,反对在工作流运行前进行数据品质校验过程,通过在数据品质功能模块中,由用户自定义数据品质的校验规定,实现了工作运行过程中对数据品质的严格控制和运行后果的监控。


05 工作组

工作组次要用于管制工作实例并发并明确组内优先级。用户在新建工作定义时,可配置当前任务对应的工作组,并配置工作在工作组内运行的优先级。当工作配置了工作组后,工作的执行除了要满足上游工作全副胜利外,还须要满足当前任务组正在运行的工作小于资源池的大小。当大于或者等于资源池大小时,工作会进入期待状态期待下一次查看。当工作组中多个工作同时进到待运行队列中时,会先运行优先级高的工作。

详见链接:https://dolphinscheduler.apac…


06 自定义时区

在 3.0.0-alpha 之前版本,Apache DolphinScheduler 默认的工夫是 UTC+8 时区,但随着用户群体扩充,海内用户和在海内发展跨时区业务的用户在应用中常常被时区所困扰。3.0.0-alpha 反对时区切换后,时区问题迎刃而解,满足了海内用户和出海业务搭档的需要。例如,如当企业业务波及的时区蕴含东八区和西五区,如果想要应用同一个 DolphinScheduler 集群,能够别离创立多个用户,每个用户应用本人当地的时区,对应 DolphinScheduler 对象显示的工夫均会切换为对应时区的当地工夫,更加合乎当地开发者的应用习惯。

详见链接:https://dolphinscheduler.apac…

07 工作定义列表

应用 Apache DolphinScheduler 3.0.0-alpha 此前版本,用户如果想要操作工作,须要先找到对应的工作流,并在工作流中定位到工作的地位之后能力编辑。然而,当工作流数量变多或单个工作流有较多的工作时,找到对应工作的过程将会变得十分苦楚,这不合乎 Apache DolphinScheduler 所谋求的 easy to use 理念。所以,咱们在 3.0.0-alpha 中减少了工作定义页面,让用户能够通过工作名称疾速定位到工作,并对工作进行操作,轻松实现批量工作变更。

详见链接:https://dolphinscheduler.apac…

08 新增告警类型

与此同时,3.0.0-alpha 告警类型也减少了对 Telegram、Webexteams 告警类型的反对。

09 Python API 新性能

3.0.0-alpha 中,Python API 最大的变动是将对应的 PythonGatewayServer 集成到了 API-Server 服务,使得开启对外服务更加规整,且缓解了因服务拆分导致的二进制包变大的问题。同时,Python API 还减少了 CLI 和 configuration 模块,让用户能够自定义配置文件,批改配置更加便捷。

10 其余新性能

除了上述性能外,3.0.0-alpha 版本还进行了很多细节性能加强,如重构工作插件、数据源插件模块,让扩大更简略;复原了对 Spark SQL 的反对;E2E 测试曾经完满兼容新 UI 等。

次要优化项

[#8584] 工作后端插件优化,新插件只须要批改插件自带的模块
[#8874] 在工作流下提交 / 创立 cron 时验证完结工夫和开始工夫
[#9016] Dependent 增加依赖时能够抉择全局我的项目
[#9221] AlertSender 优化及敞开优化,如 MasterServer
[#9228] 实现应用 slot 扫描数据库
[#9230] python gateway server 集成到 apiserver 来缩小二进制包大小 [#9372] 将 pythonGatewayServer 迁徙到 api 服务器
[#9443] 增加缺失的配置和连贯近程服务器文档
[#8719] [Master/Worker] 将工作 ack 更改为运行回调
[#9293] [Master] 增加工作事件线程池

次要 Bug 修复

[#7236] 修复应用 S3a Minio 创立租户失败的问题
[#7416] 修复文本文件 busy 的问题
[#7896] 修复我的项目受权时生成一个反复受权我的项目的问题
[#8089] 修复因无奈连贯到 PostgreSQL 而启动服务器失败的问题
[#8183] 修复音讯显示找不到数据源插件“Spark”的问题
[#8202] 修复 MapReduce 生成的命令内置参数地位谬误的问题
[#8751] 解决更改参数用户,队列在 ProcessDefinition 中生效的问题
[#8756] 解决应用依赖组件的过程无奈在测试和生产环境之间迁徙
[#8760] 解决了资源文件删除条件的问题
[#8791] 修复编辑复制节点的表单时影响原始节点数据的问题
[#8951] 解决了 Worker 资源耗尽并导致停机的问题
[#9243] 解决了某些类型的警报无奈显示项目名称的问题

Release Note

https://github.com/apache/dol…

感激贡献者

按首字母排序 Aaron Lin, Amy0104, Assert, BaoLiang, Benedict Jin, BenjaminWenqiYu, Brennan Fox, Devosend, DingPengfei, DuChaoJiaYou, EdwardYang, Eric Gao, Frank Chen, GaoTianDuo, HanayoZz, Hua Jiang, Ivan0626, Jeff Zhan, Jiajie Zhong, JieguangZhou, Jiezhi.G, JinYong Li, J·Y, Kerwin, Kevin.Shin, KingsleyY, Kirs, KyoYang, LinKai, LiuBodong, Manhua, Martin Huang, Maxwell, Molin Wang, OS, QuakeWang, ReonYu, SbloodyS, Shiwen Cheng, ShuiMuNianHuaLP, ShuoTiann, Sunny Lei, Tom, Tq, Wenjun Ruan, X&Z, XiaochenNan, Yanbin Lin, Yao WANG, Zonglei Dong, aCodingAddict, aaronlinv, caishunfeng, calvin, calvinit, cheney, chouc, gaojun2048, guoshupei, hjli, huangxiaohai, janeHe13, jegger, jon-qj, kezhenxu94, labbomb, lgcareer, lhjzmn, lidongdai, lifeng, lilyzhou, lvshaokang, lyq, mans2singh, mask, mazhong, mgduoduo, myangle1120, nobolity, ououtt, ouyangyewei, pinkhello, qianli2022, ronyang1985, seagle, shuai hou, simsicon, songjianet, sparklezzz, springmonster, uh001, wangbowen, wangqiang, wangxj3, wangyang, wangyizhi, wind, worry, xiangzihao, xiaodi wang, xiaoguaiguai, xuhhui, yangyunxi, yc322, yihong, yimaixinchen, zchong, zekai-li, zhang, zhangxinruu, zhanqian, zhuangchong, zhuxt2015, zixi0825, zwZjut, 天仇, 小张, 时光, 王强, 百岁, 弘树, 张豪杰, 罗铭涛

参加奉献

随着国内开源的迅猛崛起,Apache DolphinScheduler 社区迎来蓬勃发展,为了做更好用、易用的调度,真挚欢送酷爱开源的搭档退出到开源社区中来,为中国开源崛起献上一份本人的力量,让外乡开源走向寰球。

参加 DolphinScheduler 社区有十分多的参加奉献的形式,包含:

奉献第一个 PR(文档、代码) 咱们也心愿是简略的,第一个 PR 用于相熟提交的流程和社区合作以及感触社区的友好度。

社区汇总了以下适宜老手的问题列表:https://github.com/apache/dol…

非老手问题列表:https://github.com/apache/dol…

如何参加奉献链接:https://dolphinscheduler.apac…

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

参加开源能够近距离与各路高手切磋,迅速晋升本人的技能,如果您想参加奉献,咱们有个贡献者种子孵化群,能够增加社区小助手微信 (Leonard-ds),手把手教会您 (贡献者不分程度高下,有问必答,要害是有一颗违心奉献的心)。

增加小助手微信时请阐明想参加奉献。

来吧,开源社区十分期待您的参加。

退出移动版