Apache Dolphinscheduler 最新 3.1.4
概述
-
Apache DolphinScheduler 是一个分布式易扩展的可视化DAG工作流任务调度开源系统。适用于企业级场景,提供了一个可视化操作任务、工作流和全生命周期数据处理过程的解决方案。
-
Apache DolphinScheduler 旨在解决复杂的大数据任务依赖关系,并为应用程序提供数据和各种 OPS 编排中的关系。 解决数据研发ETL依赖错综复杂,无法监控任务健康状态的问题。 DolphinScheduler 以 DAG(Directed Acyclic Graph,DAG)流式方式组装任务,可以及时监控任务的执行状态,支持重试、指定节点恢复失败、暂停、恢复、终止任务等操作。
特性
简单易用
- 可视化 DAG: 用户友好的,通过拖拽定义工作流的,运行时控制工具
- 模块化操作: 模块化有助于轻松定制和维护。
丰富的使用场景
- 支持多种任务类型: 支持Shell、MR、Spark、SQL等10余种任务类型,支持跨语言,易于扩展
- 丰富的工作流操作: 工作流程可以定时、暂停、恢复和停止,便于维护和控制全局和本地参数。
High Reliability
- 高可靠性: 去中心化设计,确保稳定性。 原生 HA 任务队列支持,提供过载容错能力。 DolphinScheduler 能提供高度稳健的环境。
High Scalability
- 高扩展性: 支持多租户和在线资源管理。支持每天10万个数据任务的稳定运行。
对比
airflow | dolphinscheduler | |
---|---|---|
中心思想 | 可视化配置完成调度的修改、增加、构建dag图 | 使用py代码完成调度的修改、增加、构建dag |
单点故障 | 是(单一调度程序) | 去中心化的多Master和多Worke |
HA额外要求 | Celery / Dask / Mesos + Load Balancer + DB | 不需要(本身就支持HA) |
过载处理 | 任务太多时会卡死服务器 | 任务队列机制,单个机器上可调度的任务数量可以灵活配置,当任务过多时会缓存在任务队列中,不会造成机器卡死 |
DAG监控界面 | 不能直观区分任务类型 | 任务状态、任务类型、重试次数、任务运行机器、可视化变量等关键信息一目了然 |
可视化流程定义 | 否(通过python代码来绘制DAG,使用不便,特别是对不会写代码的业务人员基本无法使用) | 是(所有流程定义操作都是可视化的,通过拖拽任务来绘制DAG,配置数据源及资源。同时对于第三方系统,提供api方式的操作) |
快速部署 | 集群化部署复杂 | 一键部署 |
是否能暂停和恢复 | 支持暂停(非真暂停),恢复操作 | 支持暂停(非真暂停),恢复操作 |
是否支持多租户 | 否(只支持多用户) | 支持(DolphinScheduler上的用户可以通过租户和hadoop用户实现多对一或一对一的映射关系,这对大数据作业的调度是非常重要的) |
任务类型 | BashOperator、DummyOperator、MySqlOperator、HiveOperator、EmailOperator、HTTPOperator、SqlOperator等 丰富的operator 毕竟开源好多年 | 支持传统的shell任务,同时支持大数据平台任务调度: MR、Spark、SQL(mysql、postgresql、hive、sparksql)、Python、Procedure、Sub_Process |
契合度 | 由于不支持多租户,在大数据平台业务使用不够灵活 | 支持大数据作业spark,hive,mr的调度,同时由于支持多租户,与大数据业务更加契合 |
任务重跑 | 可以指定从任意一个任务节点开始重跑 | 支持失败任务重跑,但是不能指定从任意一个任务开始重跑 |
跳过某些任务/运行节点 | 否 | 是 |
跨项目依赖 | 否 | 否 |
项目内依赖 | 是(将DAG定义在一个脚本中) | 是(在一个项目中前驱依赖可以指定不同工作流中任意一个任务,后继依赖可以指定一整个工作流,但是无法指定其他工作流中的任意一个任务) |
是否支持自定义任务类型 | 是 | 是 |
是否支持集群扩展 | 是(但是Executor水平扩展复杂) | 是(调度器使用分布式调度,整体的调度能力会随便集群的规模线性增长,Master和Worker支持动态上下线) |
服务状态监控 | 否 | 是 |
系统版本要求 | 暂无 | 均7.0以上 |
支持任务迁移/Copy | 否 | 是 |
dolphinscheduler架构图
DolphinScheduler 的主要角色如下:
MasterServer 采用分布式无中心设计理念,MasterServer 主要负责 DAG 任务切分、任
务提交、任务监控,并同时监听其它 MasterServer 和 WorkerServer 的健康状态。
WorkerServer 也采用分布式无中心设计理念,WorkerServer 主要负责任务的执行和提
供日志服务。
ZooKeeper 服务,系统中的 MasterServer 和 WorkerServer 节点都通过 ZooKeeper 来进
行集群管理和容错。
Alert 服务,提供告警相关服务。
API 接口层,主要负责处理前端 UI 层的请求。
UI,系统的前端页面,提供系统的各种可视化操作界面。
软硬件环境建议配置
DolphinScheduler 作为一款开源分布式工作流任务调度系统,可以很好地部署和运行在 Intel 架构服务器及主流虚拟化环境下,并支持主流的Linux操作系统环境
1.linux版本要求
操作系统 | 版本 |
---|---|
Red Hat Enterprise Linux | 7.0 及以上 |
CentOS | 7.0 及以上 |
Oracle Enterprise Linux | 7.0 及以上 |
Ubuntu LTS | 16.04 及以上 |
注意: 以上 Linux 操作系统可运行在物理服务器以及 VMware、KVM、XEN 主流虚拟化环境上文章来源:https://www.toymoban.com/news/detail-467691.html
2. 服务器建议配置
DolphinScheduler 支持运行在 Intel x86-64 架构的 64 位通用硬件服务器平台。对生产环境的服务器硬件配文章来源地址https://www.toymoban.com/news/detail-467691.html
到了这里,关于Apache Dolphinscheduler 最新 3.1.4 概述和安装(1)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!