1. 安装 DolphinScheduler
在演示环境中,我们采用单机部署方式。具体步骤可参考官方文档:https://dolphinscheduler.apache.org/zh-cn/docs/3.4.2/guide/installation/standalone。
启动 DolphinScheduler Standalone Server
DolphinScheduler 的二进制压缩包中已包含 standalone 启动脚本,解压后即可快速启动。
bash
# 解压并运行 Standalone Server
tar -xvzf apache-dolphinscheduler-*-bin.tar.gz
chmod -R 755 apache-dolphinscheduler-*-bin
cd apache-dolphinscheduler-*-bin
bash ./bin/dolphinscheduler-daemon.sh start standalone-server
2. 安装 SeaTunnel
官方下载地址:https://seatunnel.apache.org/download/
使用 wget 将安装包下载到服务器后解压。
安装前准备
- 确认 SeaTunnel 版本与 JDK 环境:确保系统已安装兼容的 JDK。
- 下载并解压 SeaTunnel 安装包。
- 配置
SEATUNNEL_HOME环境变量:指向 SeaTunnel 的解压目录。 - 安装连接器插件:参考文档 https://doc.seatunnel-web.com/8677563m0。
加载连接器驱动
如果任务中使用了 MySQL、Oracle、PostgreSQL 等数据源,需要准备对应的数据库驱动。
通常需要将驱动包(如 .jar 文件)放到 SeaTunnel 对应的插件目录中,例如:
${SEATUNNEL_HOME}/lib/- 或对应连接器插件目录下。
注意:如果任务启动时报"找不到驱动"、"无法加载 Driver Class"等错误,通常是因为连接器驱动没有放置到正确位置。
MySQL 连接器驱动下载地址:https://repo1.maven.org/maven2/mysql/mysql-connector-java/
3. 配置与任务执行
在 DolphinScheduler 中添加任务
- 在 DolphinScheduler 中添加任务定义。
- 任务类型选择"数据集成" -> "seatunnel"。
执行模式选择
重要:执行时请选择"Cluster 执行"。如果选择本地执行,CDC(Change Data Capture)任务可能会被阻塞。
SeaTunnel 任务配置示例
以下是一个 MySQL CDC 同步到 MySQL 的配置示例:
bash
env {
parallelism = 1
job.mode = "STREAMING"
checkpoint.interval = 10000
}
source {
MySQL-CDC {
url = "jdbc:mysql://172.32.1.26:3306/seatunnel?useSSL=false&serverTimezone=Asia/Shanghai"
username = "root"
password = "root123"
table-names = ["seatunnel.role"]
}
}
sink {
Jdbc {
url = "jdbc:mysql://172.32.1.26:3306/seatunnel?useSSL=false&serverTimezone=Asia/Shanghai"
driver = "com.mysql.cj.jdbc.Driver"
username = "root"
password = "root123"
generate_sink_sql = true
database = "seatunnel"
table = "ods_role"
primary_keys = ["id"]
batch_size = 1000
}
}
任务管理命令
bash
# 查看当前运行的任务
$SEATUNNEL_HOME/bin/seatunnel.sh -l
# 停止任务(两种方式)
# 1. 优雅停止(保留状态,可恢复)
$SEATUNNEL_HOME/bin/seatunnel.sh -can <jobId>
# 2. 强制取消(不保留状态)
$SEATUNNEL_HOME/bin/seatunnel.sh -f <jobId>