Apache Dolphinscheduler 最新 3.1.4 概述和安装(1)

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架构图

Apache Dolphinscheduler 最新 3.1.4 概述和安装(1)_第1张图片

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 主流虚拟化环境上

2. 服务器建议配置

DolphinScheduler 支持运行在 Intel x86-64 架构的 64 位通用硬件服务器平台。对生产环境的服务器硬件配

你可能感兴趣的:(调度,大数据,apache)