Apache DolphinScheduler 是一个强大的分布式工作流任务调度系统,它以易用性和强大的功能在数据处理领域脱颖而出。本文将从部署到使用,详细介绍 DolphinScheduler 的各个方面,帮助您快速上手并有效利用这一工具。
一、DolphinScheduler 概述
DolphinScheduler,由易观公司于2019年开源,是一个分布式、易扩展的可视化DAG工作流任务调度平台。它通过有向无环图(DAG)来描述任务之间的依赖关系,支持任务调度、任务编排以及定时任务,非常适合用于数据仓库、数据集成等场景。
二、DolphinScheduler 架构
组件:
海豚调度器DolphinScheduler 核心组件及其功能解析
架构图:
三、部署模式
DolphinScheduler 支持多种部署模式,包括:
- 单机模式:所有服务运行在同一个进程中,内置ZooKeeper和H2数据库,适合快速体验。
- 伪集群模式:在单台机器上部署所有服务,但ZooKeeper和数据库需单独安装。
- 集群模式:在多台机器上部署服务,支持多个Master和Worker,适合生产环境。
这里我们主要介绍单机模式。
四、安装部署
海豚调度器DolphinScheduler--搭建单机版DolphinScheduler实战指南
海豚调度器DolphinScheduler单机版快速启动脚本--ds.sh搭建与使用教程-CSDN博客
单机模式部署
- 环境准备:确保JDK环境已配置。
- 下载并解压:从官网下载DolphinScheduler,解压到指定目录。
- 启动服务:执行启动脚本,一键启动所有服务。
五、使用 DolphinScheduler
安全中心
队列:
了解一下
租户管理:管理执行任务的用户。
出现以下错误
需要启动Hadoop集群的hdfs
start-dfs.sh 启动hadoop集群
用户管理:管理操作DolphinScheduler的用户。
可以使用普通用户登录ds
Worker分组:管理Worker节点的分组。
告警组:设置任务执行情况的通知组。
添加组内成员:
上传资源提示“存储未启用”如何开启HDFS
1.修改配置文件:
这个软件下面有很多的服务,将每一个服务下的common.properties中的内容全部修改一遍
其中bigdata01是你虚拟机的名称
修改standalone-server下的common.properties
resource.storage.type=HDFS
resource.storage.upload.base.path=/dolphinscheduler
resource.hdfs.fs.defaultFS=hdfs://bigdata01:9820
2.修改HDFS权限:
确保DolphinScheduler用户对HDFS路径有读写权限。
修改hdfs的权限:
hdfs dfs -chmod -R 777 /
3.重启服务:
配置完成后,需要重启DolphinScheduler的所有服务以应用更改。
重启服务
# 启动 Standalone Server 服务
./dolphinscheduler-daemon.sh start standalone-server
# 停止 Standalone Server 服务
./dolphinscheduler-daemon.sh stop standalone-server
执行任务
创建项目:在DolphinScheduler中创建项目。
创建任务:定义具体的任务脚本。
定义工作流:通过拖拽的方式,将任务组合成工作流。
下图为工作流配置页面,共包含三个模快,分别为工作流定义、工作流实例和任务实例。
工作流定义:用于定义工作流,包括工作流各节点任务详情及各节点依赖关系等。
工作流实例:工作流每执行一次就会生成一个工作流示例。此处可查看正在运行的工作流以及已经完成的工作流。
任务实例:工作流中的一个节点任务,每执行一次就会生成一个任务实例。此处可用于查看正在执行的节点任务以及已经完成的节点任务。
创建A任务
依次创建B任务,和C任务
将这三个任务,进行任务编排:
点击保存按钮,出现保存界面:
定义任务结束:
执行工作流:启动并监控工作流的执行。
任务必须先上线才能执行,只有下线才能编辑
点击上线,并没有运行,需要点击--执行
此时任务实例就会出现:
假如你的任务运行了,但是没有工作流实例,只提示成功,可以查看一下是否为内存不够了。
worker 192.168.233.128:1234 current cpu load average 0.43 is too high or available memory 0.17G is too low
提升一下内存即可。
定时任务
创建定时任务:设置任务的执行计划。
上线定时任务:激活定时任务,使其按计划执行。
查看定时任务是否运行了:
当Linux的系统时间,不对的时候,定时任务,普通任务都会受到影响
在Linux黑窗口运行
同步时间的两个命令:
systemctl restart chronyd
ntpdate time1.aliyun.com
六、结语
DolphinScheduler 是一个功能丰富、易于使用的分布式工作流调度系统。通过本文的介绍,您应该能够对 DolphinScheduler 有一个全面的了解,并在实际工作中有效利用它来管理和调度任务。无论是单机模式的快速体验,还是集群模式的大规模部署,DolphinScheduler 都能满足您的需求。