一、概述
1、什么是DolphinScheduler
Apache DolphinScheduler (下面简称DS) 是一个为企业级应用场景设计的开源任务调度系统,它提供了分布式的、可扩展的并且易于使用的可视化界面,让用户能够高效地管理和调度复杂的工作流任务,覆盖从任务创建到监控的全生命周期数据处理流程。它旨在通过其基于有向无环图(DAG)的任务编排能力,解决大数据任务中复杂的依赖关系和ETL流程监控难题,它不仅能够实现实时的任务状态监控,还提供了包括任务重试、失败恢复、暂停及终止等一系列操作,以增强数据研发流程的可靠性和效率。
DAG --有向无环图,有顺序,但是不会形成环的图表。
2、特性
2.1 使用简单
Apache DolphinScheduler 提供了一个简单易用的可视化界面,用户可以通过拖拽操作轻松定义和管理复杂的工作流;
2.2使用场景丰富
它支持多种任务类型,包括 Shell、MR、Spark、SQL 等超过十种任务类型,并且具有跨语言的兼容性和良好的扩展性;
2.3、丰富的工作流操作
系统内置了丰富的操作选项,如定时、暂停、恢复和停止工作流等功能,方便用户进行全局和局部的参数控制;
2.4、高可靠性
DolphinScheduler 还采用了去中心化的高可靠性设计,支持原生 HA 和过载容错,确保了系统的稳定运行;
2.5、高扩展性
对多租户和在线资源管理的支持,使其能够应对大规模的数据任务需求,展示出卓越的高扩展性。
3、DS架构
DolphinScheduler的主要角色如下:
MasterServer采用分布式无中心设计理念,MasterServer主要负责 DAG 任务切分、任务提交、任务监控,并同时监听其它MasterServer和WorkerServer的健康状态。
WorkerServer也采用分布式无中心设计理念,WorkerServer主要负责任务的执行和提供日志服务。
ZooKeeper服务,系统中的MasterServer和WorkerServer节点都通过ZooKeeper来进行集群管理和容错。
Alert服务,提供告警相关服务。
API接口层,主要负责处理前端UI层的请求。
UI,系统的前端页面,提供系统的各种可视化操作界面。
二、DS的部署说明
1、操作系统要求
操作系统 | 版本 |
Red Hat Enterprise Linux | 7.0 及以上 |
CentOS | 7 |