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