如何在网站做qq群链接,公众号开发用什么语言,做家教网站的资源是什么,个人网站制作成品1.查看文档
点击访问#xff1a;https://dolphinscheduler.apache.org/zh-cn/docs 我们可以看到相关的文档简介里有
介绍
DolphinScheduler是Apache DolphinScheduler 是一个分布式易扩展的可视化DAG工作流任务调度开源系统。适用于企业级场景#xff0c;提供了一个可视化…1.查看文档
点击访问https://dolphinscheduler.apache.org/zh-cn/docs 我们可以看到相关的文档简介里有
介绍
DolphinScheduler是Apache DolphinScheduler 是一个分布式易扩展的可视化DAG工作流任务调度开源系统。适用于企业级场景提供了一个可视化操作任务、工作流和全生命周期数据处理过程的解决方案。
作用
Apache DolphinScheduler 旨在解决复杂的大数据任务依赖关系并为应用程序提供数据和各种 OPS 编排中的关系。 解决数据研发ETL依赖错综复杂无法监控任务健康状态的问题。 DolphinScheduler 以 DAGDirected Acyclic GraphDAG流式方式组装任务可以及时监控任务的执行状态支持重试、指定节点恢复失败、暂停、恢复、终止任务等操作。 我们是用来做seatunnel的文件同步操作研究需要使用这个
相关名词介绍
DAG
介绍
然后有对应的相关名词介绍如DAG 全称 Directed Acyclic Graph简称 DAG。工作流中的 Task 任务以有向无环图的形式组装起来从入度为零的节点进行拓扑遍历直到无后继节点为止。举例如下图
下面是百度到对dag的理解 有向无环图Directed Acyclic GraphDAG是一种特殊的有向图它没有任何环路。这意味着从图中的任意一个顶点出发不可能通过一系列有向边回到该顶点。
特性
有向性图中的边有方向。 无环性图中不存在任何环路即不存在从某个顶点出发经过若干条边又回到该顶点的路径。 应用 DAG在许多领域中有广泛的应用包括
任务调度例如编译器的优化过程中用DAG来表示指令的依赖关系确保指令的执行顺序。 版本控制系统如Git使用DAG来表示提交历史保证不同分支的提交历史可以正确地合并。 数据处理流水线DAG可以用来表示数据处理的各个步骤及其依赖关系。 路径规划例如在某些网络路由算法中使用DAG来确保路径无环从而避免路由循环。 例子
DAG 示例 plaintext 复制代码
A → B → D
↓ ↓
C → E在这个例子中没有任何路径可以从一个节点回到自身因此它是一个DAG。
相关算法
DAG上有许多重要的算法主要包括
拓扑排序拓扑排序是DAG的一个线性序列满足对图中的每条有向边 (u, v)顶点 u 在 v 之前。常见的算法包括Kahn算法和基于深度优先搜索DFS的算法。
Kahn算法基于入度的拓扑排序算法。 DFS算法基于DFS的拓扑排序利用递归实现。 最长路径在DAG中寻找从起点到终点的最长路径可以利用拓扑排序来简化计算。
最短路径在DAG中寻找从起点到终点的最短路径也可以利用拓扑排序来优化计算。
个人理解
DAG就是有向无环图中的一种特殊的有向图即不存在从某个顶点出发经过若干条边又回到该顶点的路径且图中的边有方向用于定义和管理任务之间的依赖关系。工作流中的 Task 任务以有向无环图的形式组装起来从入度为零的节点进行拓扑遍历直到无后继节点为止。
DAG在DolphinScheduler中的作用
任务依赖管理DAG用于定义任务之间的依赖关系确保任务按正确的顺序执行。 工作流调度利用DAG结构DolphinScheduler可以高效地调度和管理复杂的工作流。 错误处理和重试在DAG中如果某个任务失败可以定义错误处理和重试策略。
DolphinScheduler中的DAG实现
DolphinScheduler使用JSON格式来定义工作流的DAG。每个工作流定义中包含多个任务节点和它们之间的依赖关系。
流程定义
通过拖拽任务节点并建立任务节点的关联所形成的可视化DAG
流程实例
流程实例是流程定义的实例化可以通过手动启动或定时调度生成。每运行一次流程定义产生一个流程实例
任务实例
任务实例是流程定义中任务节点的实例化标识着某个具体的任务
任务类型目前支持有 SHELL、SQL、SUB_PROCESS(子流程)、PROCEDURE、MR、SPARK、PYTHON、DEPENDENT(依赖)同时计划支持动态插件扩展注意其中 SUB_PROCESS类型的任务需要关联另外一个流程定义被关联的流程定义是可以单独启动执行的
调度方式
系统支持基于 cron 表达式的定时调度和手动调度。命令类型支持启动工作流、从当前节点开始执行、恢复被容错的工作流、恢复暂停流程、从失败节点开始执行、补数、定时、重跑、暂停、停止、恢复等待线程。 其中 恢复被容错的工作流 和 恢复等待线程 两种命令类型是由调度内部控制使用外部无法调用
定时调度
系统采用 quartz 分布式调度器并同时支持cron表达式可视化的生成
依赖
系统不单单支持 DAG 简单的前驱和后继节点之间的依赖同时还提供任务依赖节点支持流程间的自定义任务依赖
优先级
支持流程实例和任务实例的优先级如果流程实例和任务实例的优先级不设置则默认是先进先出
邮件告警
支持 SQL任务 查询结果邮件发送流程实例运行结果邮件告警及容错告警通知
失败策略
对于并行运行的任务如果有任务失败提供两种失败策略处理方式继续是指不管并行运行任务的状态直到流程失败结束。结束是指一旦发现失败任务则同时Kill掉正在运行的并行任务流程失败结束
补数
补历史数据支持区间并行和串行两种补数方式其日期选择方式包括日期范围和日期枚举两种
模块介绍
dolphinscheduler-master master模块提供工作流管理和编排服务。
dolphinscheduler-worker worker模块提供任务执行管理服务。
dolphinscheduler-alert 告警模块提供 AlertServer 服务。
dolphinscheduler-api web应用模块提供 ApiServer 服务。
dolphinscheduler-common 通用的常量枚举、工具类、数据结构或者基类
dolphinscheduler-dao 提供数据库访问等操作。
dolphinscheduler-extract extract模块包含master/worker/alert的sdk
dolphinscheduler-service service模块包含Quartz、Zookeeper、日志客户端访问服务便于server模块和api模块调用
安装
快速安装
第一次看的时候看的不说很懂安装模式没认真看的话就只看到dokcer的安装模式然后本人的开发环境docker问题一大堆下载不下来后面认真看了一下发现一种更简单的不用docker安装外面也有很多安装教程不过都很麻烦我只是要快速搭建实现和了解一下。我们可以在快速上手里面的设置 Dolphinscheduler有个standalone server点击这个就有用安装包安装的快速教程。跳转页面是没有中文的我是用电脑win10字带Microsoft Edge中文翻译转成中文看的。你可以看到一个不需要任何配置的只需要下载一个 apache-dolphinscheduler-*-bin.tar.gz包解压启动bash ./bin/dolphinscheduler-daemon.sh start standalone-server然后等几秒后就可以访问 admin/dolphinscheduler123http://localhost:12345/dolphinscheduler/ui页面了
缺点
Standalone 只建议使用少于 20 个工作流因为它默认使用内存 H2 数据库ZooKeeper 测试服务器任务过多可能会导致不稳定。 当 Standalone 停止或重新启动时内存中 H2 数据库将清理。要将 Standalone 用于 mysql 或 postgresql 等外部数据库
修改配置
如果你想用数据库mysql和pg增加数据容量点击到文档最下面有个数据库配置点击 datasource-setting 就可以找到对应的配置去修改对应的配置。