Apache DolphinScheduler 3.1.8 保姆级教程【安装、介绍、项目运用、邮箱预警设置】轻松拿捏!

本文介绍了 Apache DolphinScheduler,它是分布式易扩展的可视化 DAG 工作流任务调度开源系统,适用于企业级场景。文中阐述其特性、架构、工作流程,对比了与 Azkaban 的区别,还详细说明了分布式安装步骤、各功能中心使用方法、项目运用流程及邮箱预警设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述

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

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

file

特性

1.*简单易用 *

可视化 DAG,对待用户友好,通过拖拽定义工作流的,模块化操作,轻松定制和维护。

2.丰富的使用场景
支持多种任务类型,例如:Shell、MR、Spark、SQL 等 10 余种任务类型,支持跨语言,易于扩展。

3.丰富的工作流操作
工作流程可以定时、暂停、恢复和停止,便于维护和控制全局和本地参数。

  1. High Reliability 高可靠性
    去中心化设计,确保稳定性,原生 HA 任务队列支持,提供过载容错能力。DolphinScheduler 能提供高度稳健的环境。

5.High Scalability 高扩展性
支持多租户和在线资源管理,支持每天 10 万个数据任务的稳定运行。

去中心化设计,让系统的控制和决策权分散到不同的节点或组件,而不是集中在单一中心节点。这意味着系统中的各个组件可以独立运作和做出决策,而不必依赖于一个中心控制节点。 在 DolphinScheduler 中,去中心化的设计意味着任务调度和管理系统的各个组件能够独立运作,而不需要依赖于一个单一的中心节点。

架构

DolphinScheduler 的架构设计允许分布式任务调度和管理,以满足大规模数据处理和工作流需求。

1. Master Server(主服务器):

  • DolphinScheduler 主服务器是整个系统的核心,它负责调度、管理和监控所有任务和工作流。

  • 主服务器维护任务元数据和工作流定义,包括任务依赖关系、任务类型、调度计划等信息。

  • 主服务器接收用户提交的任务和工作流,并决定如何调度和执行它们。

2. Worker Server(工作节点):

  • DolphinScheduler 工作节点是执行任务的节点,它们分布在集群中,可以是物理机器或虚拟机器。

  • 工作节点根据主服务器的调度计划执行任务,可以处理各种不同类型的任务,如 Shell 脚本、Python 脚本、Hive、Spark、Flink 等。

  • 工作节点还负责监控任务的执行状态和性能,并将信息报告给主服务器。

3. ZooKeeper:

  • DolphinScheduler 使用 Apache ZooKeeper 来协调主服务器和工作节点之间的通信和状态管理。

  • ZooKeeper 负责维护一致性和协调,以确保系统的高可用性和容错性。

4. 数据存储:

  • DolphinScheduler 使用关系型数据库(如 MySQL)来存储任务元数据、工作流定义和调度计划等信息。

  • 数据存储用于持久化和管理系统的状态和元数据。

5. Web界面:

  • DolphinScheduler 提供了一个可视化的 Web 界面,用户可以使用该界面来配置任务和工作流,监控任务的执行状态,以及管理系统的权限和用户。

工作流程

整个 DolphinScheduler 系统的工作流程如下:

  1. 用户使用 Web 界面创建和配置任务和工作流。

  2. 主服务器接收用户的任务和工作流定义,然后根据定义生成调度计划。

  3. 主服务器将调度计划发送给工作节点。

  4. 工作节点执行任务,监控任务的状态和性能,并将信息报告给主服务器。

  5. 用户可以通过 Web 界面查看任务的执行状态和日志,同时系统支持告警功能,以便在任务失败或性能下降时通知管理员。

DolphinScheduler 和 Azkaban 的比较

DolphinScheduler 和 Azkaban 都是用于任务调度和工作流管理的开源工具,但它们之间存在一些区别,包括以下方面:

1. 开发背景和社区支持

  • DolphinScheduler 是中国社区开源项目,得到了国内外开发者和组织的积极支持和贡献。

  • Azkaban 是由 LinkedIn 开发的,后来成为了开源项目,得到了 LinkedIn 和其他组织的支持。

2. 历史和成熟度

  • Azkaban 的项目起源较早,因此在一些组织中有更广泛的应用和更成熟的生态系统。

  • DolphinScheduler 是一个相对较新的项目,仍在不断发展中。

3. 特性和功能

  • DolphinScheduler 提供了更多种类的任务类型,包括Shell、Python、Hive、Spark、Flink等,以满足不同数据处理需求。

  • Azkaban 也支持多种任务类型,但其生态系统不如 DolphinScheduler 多样化。

4. 去中心化和架构设计

  • DolphinScheduler 强调去中心化的设计,允许任务调度和管理系统的各个组件独立运作。

  • Azkaban 通常具有中心化的控制节点来协调任务的调度和执行。

就我个人而言更喜欢用 DolphinScheduler,去中心化的设计更加便利,生态也特别丰富,前端 UI 也十分人性化,编辑任务流等方面都比 Azkaban 使用起来更加舒适。

DolphinScheduler 分布式安装

基础环境说明与配置

官方给出的系统要求以及服务器配置如下所示:

file

服务器资源没有那么多也无所谓,官方的配置是生产环境的配置,学习或者测试环境低点也能玩。

请在进行下列步骤前,确保集群之间已经设置好了免密登录,且指定用户具有 sudo 权限, 集群中已经安装 JDK1.8、MySQL、Zookeeper(3.4.6+) 并能正常使用。

sudo 用户权限添加

这里以创建 dolphinscheduler 用户进行举例,开始前,请先切换到 root 用户

创建用户及授权的指令在主从节点都要执行!

# 先切换到 root 用户
su root

# 添加用于部署的用户
useradd dolphinscheduler

# 添加密码
echo "123456" | passwd --stdin dolphinscheduler

# 配置 sudo 免密
sed -i '$adolphinscheduler  ALL=(ALL)  NOPASSWD: NOPASSWD: ALL' /etc/sudoers
sed -i 's/Defaults    requirett/#Defaults    requirett/g' /etc/sudoers
### DolphinScheduler 3.1.8 集群部署教程和配置指南 #### 准备工作 为了成功完成DolphinScheduler 3.1.8的集群部署,需先准备好所有必要的软件环境以及硬件资源。确保每台机器都已安装Java运行环境和其他依赖项[^1]。 #### 下载并解压安装包 从官方渠道获取适用于目标系统的DolphinScheduler发行版压缩文件,并将其放置于计划作为主节点服务器的位置。接着,在命令行工具中执行相应的指令来解开此档案至特定路径下[^2]: ```bash tar -zxvf dolphinscheduler-*.tar.gz -C /your/path/ ``` #### 修改配置文件 进入`conf`目录调整多个重要参数设置以适应实际应用场景需求。对于数据库连接字符串、Zookeeper地址以及其他网络通信端口等关键选项尤其需要注意适当修改以便各组件间能够正常交互协作。 #### 初始化数据库表结构 利用提供的SQL脚本创建所需的表格架构,这一步骤通常只需要在一个中心化的RDBMS实例里操作一次即可满足整个分布式体系的需求。具体做法可以参照项目文档中的说明指引来进行。 #### 启动服务进程 依次启动各个子系统的服务程序,包括API Server, Master Server, Worker Group等等。可以通过编写Shell脚本来简化这一系列动作,从而实现一键式的自动化运维管理流程。 #### 测试验证功能完整性 最后要做的就是仔细检查各项业务逻辑是否都能按照预期那样顺畅运作起来。比如提交测试任务查看其流转状态变化情况;登录Web界面浏览作业列表及日志详情等功能模块均应表现良好无误[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DolphinScheduler社区

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值