当前位置: 首页 > news >正文

Apache DolphinScheduler:一个可视化大数据工作流调度平台

Apache DolphinScheduler(海豚调度)是一个分布式易扩展的可视化工作流任务调度开源系统,适用于企业级场景,提供了一个可视化操作任务、工作流和全生命周期数据处理过程的解决方案。

在这里插入图片描述

Apache DolphinScheduler 旨在解决复杂的大数据任务依赖关系,并为应用程序提供数据和各种 OPS 编排中的关系。 解决数据研发 ETL 依赖错综复杂,无法监控任务健康状态的问题。 DolphinScheduler 以 DAG(Directed Acyclic Graph)流式方式组装任务,可以及时监控任务的执行状态,支持重试、指定节点恢复失败、暂停、恢复、终止任务等操作。

功能特性

Apache DolphinScheduler 的主要特性如下:

  • 简单易用:提供 DAG 监控界面,所有流程定义都是可视化,通过拖拽任务完成定制 DAG,通过 API 方式与第三方系统集成, 一键部署。
  • 丰富的使用场景:支持多租户,支持暂停恢复操作;紧密贴合大数据生态,提供 Spark、Hive、M/R、Python、Shell、SQL、子流程等近 20 种任务类型;支持跨语言,易于扩展。
  • 高可靠性:去中心化设计,确保稳定性。 原生 HA 任务队列支持,提供过载容错能力,提供高度稳健的环境。
  • 高扩展性: 支持多租户和在线资源管理。支持自定义任务类型,调度器使用分布式调度,调度能力随集群线性增长,支持百万个量级任务的稳定运行。

快速体验

对于初学者,建议使用单机版(standalone server)进行体验,使用 Docker 镜像启动一个 Apache DolphinScheduler 单机容器的命令如下:

$ DOLPHINSCHEDULER_VERSION=3.2.2
$ docker run --name dolphinscheduler-standalone-server -p 12345:12345 -p 25333:25333 -d apache/dolphinscheduler-standalone-server:"${DOLPHINSCHEDULER_VERSION}"

启动服务后,我们可以通过以下网址访问 Apache DolphinScheduler:

http://localhost:12345/dolphinscheduler/ui

在这里插入图片描述

默认的用户和密码分别为 admin 和 dolphinscheduler123。

接下来我们可以开始创建一个简单的工作流程。Apache DolphinScheduler 中所有的工作流都必须属于一个项目,所以我们需要首先创建一个项目。

我们可以通过单击在 DolphinScheduler Project 页面中创建一个项目 “Create Project” 按钮。

在这里插入图片描述

接下来我们为“tutorial”项目创建一个工作流程。 点击项目,转到“Workflow Definition”页面,单击“Create Workflow”按钮进入工作流详细信息页面。

在这里插入图片描述

然后就是创建任务,我们可以使用鼠标从工作流画布的工具栏中拖动要创建的任务。 创建一个 Shell 任务,输入任务的必要信息,对于这个简单的工作流程,我们只需将填写属性“Node Name”以及“Script”脚本即可。单击“Save”按钮将任务保存到工作流中。

在这里插入图片描述

使用相同的方式创建另一个任务。

此时,我们有两个具有不同名称和命令的不同任务在工作流中运行。接下来可以设置任务依赖性, 我们可以将鼠标箭头从上游任务拖到下游 然后松开,此时可以看到两个任务之间带有箭头的链接。 最后点击右上角的“Save”按钮保存工作流。

在这里插入图片描述

完成以上操作之后,我们可以通过单击“Online”,然后单击“Run”按钮来运行工作流工作流列表。 如果想要查看工作流实例,只需转到 “Workflow Instance” 页面,可以看到工作流实例正在运行,状态为 Executing。

在这里插入图片描述

如果需要查看任务日志,可以从工作流实例中点击工作流实例列表,然后找到要查看日志的任务,右击鼠标选择 View Log,就可以看到任务的详细日志。

在这里插入图片描述

官方网址:

https://dolphinscheduler.apache.org/zh-cn

相关文章:

  • VSTO(C#)Excel开发13:实现定时器
  • Search after解决ES深度分页问题
  • Modbus通信协议基础知识总结
  • 003-掌控命令行-CLI11-C++开源库108杰
  • 音频大语言模型可作为描述性语音质量评价器
  • java学习笔记4
  • Java动态代理模式深度解析
  • Git 分支删除操作指南(含本地与远程)
  • 如何将MediaPipe编译成Android中Chaquopy插件可用的 .whl 文件
  • 鸿蒙NEXT开发问题大全(不断更新中.....)
  • PyQt5库 各种导入项的作用
  • BUUCTF Pwn babyheap_0ctf_2017 Unsorted bin attack部分
  • Rust语言的物理引擎
  • 嵌入式硬件篇---PWM输出通道定时器
  • JavaScript中通过array.map()实现数据转换、创建派生数组、异步数据流处理、复杂API请求、DOM操作、搜索和过滤等,array.map()的使用详解(附实际应用代码)
  • FreeRTOS移植并实现一个多任务程序
  • mysql中查询没有主键的表
  • 《Python深度学习》第五讲:文本处理中的深度学习
  • 一学就会:A*算法详细介绍(Python)
  • springcloud, nacos使用rabbitMq
  • 指挥家高健:东方市民音乐会“高贵不贵”,我愿意常来
  • 联合国秘书长古特雷斯呼吁印巴保持最大克制
  • 上海成五一国内最热门的入境游目的地,国际消费明显提升
  • 巴菲特股东大会十大金句:未来五年内可能有投资机会,快乐的人活得更久
  • 五一假期首日,上海外滩客流超55万人次
  • 马克思主义理论研究教学名师系列访谈|高福进:思想政治理论课要伴随时代不断更新和变化