Apache DolphinScheduler是一款开源免费的分布式任务调度系统,旨在为大数据和复杂任务提供高效、可扩展的调度能力。本文将带领大家快速部署DolphinScheduler并通过一个简单案例,展示如何实现定时任务操作。
一、环境准备
首先确保系统中已安装 Java 环境。DolphinScheduler 作为一个基于 Java 的系统,依赖于 Java 环境运行。若已熟悉 Java 的安装与配置,跳过此步骤即可。
1、验证Java环境
在终端中输入以下命令,验证是否已正确安装 Java:
java -version
若安装正确,系统会显示 Java 版本信息。
2、下载与解压安装包
接下来,我们将下载 DolphinScheduler 的安装包并解压。
运行以下命令,下载最新版本的 Apache DolphinScheduler 安装包:
wget https://dlcdn.apache.org/dolphinscheduler/3.2.1/apache-dolphinscheduler-3.2.1-bin.tar.gz
2、解压安装包
下载完成后,使用 “tar” 解压该安装包:
tar -xvzf apache-dolphinscheduler-3.2.1-bin.tar.gz
3、启动DolphinScheduler服务
解压完成后,进入 DolphinScheduler 项目的根目录,并启动服务。
进入项目目录:
cd apache-dolphinscheduler-3.2.1-bin
启动服务:
使用以下命令启动 DolphinScheduler 服务:
./bin/dolphinscheduler-daemon.sh start standalone-server
至此,已经成功启动了 DolphinScheduler 服务。
4、验证部署是否成功
打开浏览器,访问 DolphinScheduler 的 Web UI 界面:
http://localhost:12345/dolphinscheduler/ui
默认的管理员账号和密码分别为:
- 用户名:admin
- 密码:dolphinscheduler123
成功登录后,就可以开始体验 DolphinScheduler 提供的任务调度功能。
5、停止服务
若需要停止 DolphinScheduler 服务,可以通过以下命令停止:
./bin/dolphinscheduler-daemon.sh stop standalone-server
二、定时写入MySQL数据简单案例
为了让大家更好地理解如何使用 DolphinScheduler,接下来我们将展示如何创建一个定时任务,每 5 秒将数据写入 MySQL 数据库。
1、配置MySQL数据源
在执行任何操作之前,首先需要配置 MySQL 数据源,DolphinScheduler 支持通过 JDBC 连接 MySQL 数据库。首先下载 MySQL JDBC 驱动并将其放置在 “api-server/libs” 和 “worker-server/libs” 目录下:
wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.30/mysql-connector-java-8.0.30.jar
完成后,重新启动服务以确保驱动被加载。
2、创建数据库表
在 MySQL 中创建一个名为 “users” 的表,用于存储任务执行时插入的数据:
CREATE TABLE users ( id BIGINT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(100) NULL );
3、创建项目与工作流
在 DolphinScheduler Web UI 中,首先创建一个新项目,并在项目中创建一个工作流。
4、配置SQL组件
在工作流中添加一个 SQL 组件,用于执行插入数据的操作。
- 数据源类型:选择 “MYSQL”
- 数据源实例:选择之前配置的 “app” 数据源
- SQL 类型:选择 “非查询”
SQL 语句:
INSERT INTO users (name) VALUES ('tsingliu');
完成配置后,保存工作流。
5、上线工作流
默认情况下,创建的工作流是处于下线状态的。需要先将工作流上线,才能执行任务。
点击 “上线” 按钮,将工作流设置为上线状态。
6、配置定时任务
如果希望定时执行此任务,可以配置定时规则。我们将配置任务每 5 秒执行一次,插入数据。
在 Web UI 中选择 “定时” 选项,并设置任务执行周期。可以根据自己的需要,选择合适的执行间隔。
7、查看执行日志
任务上线后,可以通过 Web UI 查看任务执行的情况。点击 “任务实例”,查看是否有任务成功执行。如果任务执行失败,可以查看详细的日志信息,帮助排查问题。
8、验证执行结果
每次任务执行成功,都会向 “users” 表中插入一条数据。可以通过查询数据库来验证任务的执行情况:
SELECT * FROM users;
将看到每 5 秒就有一条新数据插入。
-
广告合作
-
QQ群号:707632017