ITPub博客

首页 > 数据库 > 数据库开发技术 > 数据同步集成工具SeaTunnel

数据同步集成工具SeaTunnel

原创 数据库开发技术 作者:数据库干货铺 时间:2024-12-11 20:37:31 0 删除 编辑
点击上方蓝字关注我

    如今的信息时代,每天会产生大量的数据,这使得各种软件用到了不同的数据库存储,也需要在不同的存储间进行海量数据的同步、集成处理,一款好用且高效的工具是必备的。之前分享了国产数据库的同步工具、数据同步中间件等。

国产数据库达梦DM8迁移工具

国产数据库人大金仓Kingbase数据迁移工具

使用数据库同步中间件DBSyncer实现不同数据库的数据同步

今天继续分享另一款数据同步集成工具SeaTunnel。


1. SeaTunnel简介

SeaTunnel是Apache软件基金会孵化的数据集成平台,用于数据的提取(Extract)、加载(Load)和简单转换(Transform)。Transform 模块仅限于轻量级的数据处理,以保持整个流程的高效性。这种模块化设计和灵活的引擎支持,使得 SeaTunnel 能够适应各种数据集成场景,同时降低开发和运维成本。

SeaTunnel之处多种数据库、大数据存储间的转换

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

  

2.  部署

2.1 环境准备

jdk

运行环境需要用到JAVA,因此需要提前安装jdk,版本JDK8以上应该都可以。

maven(非必需)

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

MySQL
用于存储前端相关信息,可以先创建一个数据库,并创建数据库用户并赋权
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)
2.2 下载安装包

SeaTunnel的官网地址为 https://seatunnel.apache.org/

下载可以进入 https://seatunnel.apache.org/download 选择需要的版本进行下载。因SeaTunnel前后端分开的,因此需要下载后端及前端2个安装包。

  • 后端下载

  • 前端下载
下载后上传至部署的目标机器即可。
2.3  开始后端部署
解压下载的二进制安装包
# 进入目录seatunnel(提前创建)cd seatunnel# 解压 tar -zxvf  apache-seatunnel-2.3.8-bin.tar.gz
  • 修改安装脚本
安装脚本在bin目录下的install-plugin.sh文件
将${SEATUNNEL_HOME}/mvnw 改为mvn ,这样可以从阿里云进行下载
修改后如下
  • 运行安装脚本
执行 sh install-plugin.sh即可进行安装
sh install-plugin.sh
可以看到从阿里云进行下载
一系列的包下载完毕即可
然后将connectors下的jar包拷贝到lib下
  • 启动一个测试任务验证
在config目录下有个模板任务配置
可以进行测试,例如
 ./bin/seatunnel.sh --config ./config/v2.batch.config.template -e local
运行结果如下图所示:
  • 启动后端服务
nohup  sh seatunnel-cluster.sh &
然后查看日志
至此后端服务即完成。
2.4  前端部署
  • 解压安装包
cd seatunneltar -zxvf apache-seatunnel-web-1.0.2-bin.tar.gz
  • 执行初始化SQ脚本
对于的初始化脚本在script目录下
可以直接执行seatunnel_server_mysql.sql脚本。也可以修改seatunnel_server_env.sh里的数据库服务器配置(对应信息就是准备工作中的数据库)
然后执行init_sql.sh脚本。此处我直接连接数据库执行脚本处理。
 # /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 11Server version: 8.0.40 Source distributionCopyright (c) 2000, 2024, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.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 changedmysql> source seatunnel_server_mysql.sql;Query OK, 1 row affected, 1 warning (0.00 sec)
完成后可以看到对应的表
  • 修改配置文件
修改config目录下的application.yml文件,将对应的数据库配置信息进行修改
  • 复制后端的client及 plugin配置文件
将后端的client及 plugin配置文件复制进前端配置文件目录下
cd /usr/local/seatunnel/apache-seatunnel-web-1.0.2-bin/confcp /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  .
  • 下载数据源驱动
可以直接拷贝后端已下载的jar包,也可以在bin目录下的download_datasource.sh文件,然后进行下载
直接拷贝如下:
另外,因为我是用的数据库是MySQL8.0.40版本,驱动要求相对高,因此手动上传一个高版本驱动值libs目录下。
  • 启动前端服务
因启动脚本中需要用到SEATUNNEL_HOME路径,因此先在环境变量中进行配置
然后执行脚本启动(注意,必须在bin目录的父节点执行,否则页面无法打开)
[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/binseatunnel started

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

这样前后端就部署完成了。

进入后即可进行任务配置 


3. 配置数据源

  • 创建mysql数据源
创建一个mysql数据源,命名为mysql1




  • 创建Clickhouse数据源


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

完成后可以看到数据源列表

4. 小结

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

往期精彩回顾

1.  MySQL高可用之MHA集群部署

2.  mysql8.0新增用户及加密规则修改的那些事

3.  比hive快10倍的大数据查询利器-- presto

4.  监控利器出鞘:Prometheus+Grafana监控MySQL、Redis数据库

5.  PostgreSQL主从复制--物理复制

6.  MySQL传统点位复制在线转为GTID模式复制

7.  MySQL敏感数据加密及解密

8.  MySQL数据备份及还原(一)

9.  MySQL数据备份及还原(二)

扫码关注     
    

原文作者:数据库干货铺;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2019-07-18

  • 博文量
    273
  • 访问量
    66453