
如今的信息时代,每天会产生大量的数据,这使得各种软件用到了不同的数据库存储,也需要在不同的存储间进行海量数据的同步、集成处理,一款好用且高效的工具是必备的。之前分享了国产数据库的同步工具、数据同步中间件等。
使用数据库同步中间件DBSyncer实现不同数据库的数据同步
今天继续分享另一款数据同步集成工具SeaTunnel。
1. SeaTunnel简介
SeaTunnel是Apache软件基金会孵化的数据集成平台,用于数据的提取(Extract)、加载(Load)和简单转换(Transform)。Transform 模块仅限于轻量级的数据处理,以保持整个流程的高效性。这种模块化设计和灵活的引擎支持,使得 SeaTunnel 能够适应各种数据集成场景,同时降低开发和运维成本。
SeaTunnel之处多种数据库、大数据存储间的转换

也支持事件数据、binlog等抽取这种


2. 部署
2.1 环境准备
jdk
运行环境需要用到JAVA,因此需要提前安装jdk,版本JDK8以上应该都可以。

maven(非必需)
因部署时很多包从国外的maven仓库下载,速度比较慢,因此建议修改maven仓库,从阿里云下载。

mysql> create database seatunnel;
Query OK, 1 row affected (0.00 sec)
mysql> create user seatunnel identified by 'Seatunnel_2024';
Query OK, 0 rows affected (0.01 sec)
mysql> grant all on seatunnel.* to seatunnel;
Query OK, 0 rows affected (0.00 sec)
复制
SeaTunnel的官网地址为 https://seatunnel.apache.org/
下载可以进入 https://seatunnel.apache.org/download 选择需要的版本进行下载。因SeaTunnel前后端分开的,因此需要下载后端及前端2个安装包。
后端下载


前端下载


# 进入目录seatunnel(提前创建)
cd seatunnel
# 解压
tar -zxvf apache-seatunnel-2.3.8-bin.tar.gz
复制
修改安装脚本



运行安装脚本
sh install-plugin.sh
复制



启动一个测试任务验证

./bin/seatunnel.sh --config ./config/v2.batch.config.template -e local
复制


启动后端服务
nohup sh seatunnel-cluster.sh &
复制

解压安装包
cd seatunnel
tar -zxvf apache-seatunnel-web-1.0.2-bin.tar.gz
复制
执行初始化SQ脚本


# /usr/local/mysql/bin/mysql -h 192.168.56.129 -useatunnel -p'Seatunnel_2024'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.0.40 Source distribution
Copyright (c) 2000, 2024, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| performance_schema |
| seatunnel |
+--------------------+
3 rows in set (0.01 sec)
mysql> use Seatunnel;
Database changed
mysql> source seatunnel_server_mysql.sql;
Query OK, 1 row affected, 1 warning (0.00 sec)
复制


修改配置文件

复制后端的client及 plugin配置文件
cd /usr/local/seatunnel/apache-seatunnel-web-1.0.2-bin/conf
cp /usr/local/seatunnel/apache-seatunnel-2.3.8/config/hazelcast-client.yaml .
cp /usr/local/seatunnel/apache-seatunnel-2.3.8/connectors/plugin-mapping.properties .
复制
下载数据源驱动


启动前端服务

[root@tt bin]# sh bin/seatunnel-backend-daemon.sh start
starting seatunnel...
Load connectors from usr/local/seatunnel/apache-seatunnel-web-1.0.2-bin
/usr/local/seatunnel/apache-seatunnel-web-1.0.2-bin/bin
seatunnel started
复制

至此启动成功。可以通过http://ip:8801来访问

这样前后端就部署完成了。
进入后即可进行任务配置

3. 配置数据源
创建mysql数据源




创建Clickhouse数据源
和创建mysql数据源一样,创建clickhouse数据源,命名ck1


4. 小结
本次SeaTunnel部署的是单节点,也可以部署多节点的集群来提升性能。 另外,后续也将进行不同数据库之间的同步、ETL等相关操作。

2. mysql8.0新增用户及加密规则修改的那些事
3. 比hive快10倍的大数据查询利器-- presto
4. 监控利器出鞘:Prometheus+Grafana监控MySQL、Redis数据库
5. PostgreSQL主从复制--物理复制
6. MySQL传统点位复制在线转为GTID模式复制



