CloudCanal数据同步

最近有个需求。我们生产环境的数据库要和测试环境数据库实现增量同步,每次手动使用mysqldump做全量很麻烦。做全量的话也非常消耗服务器的资源。于是,我在思考,有什么办法可以实现定时增量同步。一开始打算写个shell脚本。每个表id都是自增的。查询每个表最大id。判断自大id值。将大于最大id的数据使用mysqldump从生产直接导入到测试。然后放入linux自带的定时任务中,这样就实现了定时增量同步。这种方法虽然可以实现。但是市面上有开源的工具可以实现吗?经过一番查询,发现CloudCanal工具可以实现。这里我不多介绍了,详细可查看官方文档CloudCanal x Db2 数据迁移同步 | CloudCanal of ClouGence

一、功能介绍

CloudCanal是一款多源多端数据迁移同步工具,当前支持的数据源主要如下(20210801版本,数据源持续添加中):

源端:MySQL、Oracle、PostgreSQL、Greenplum、Kafka

目标端:MySQL、Oracle、PostgreSQL、Greenplum、Kafka、RabbitMQ、RocketMQ、Tidb、ClickHouse、ElasticSearch、Hive、阿里云ADB

二、技术架构

CloudCanal主体上分为三个主要部分:

  • 控制台:完成CloudCanal的主要产品化能力

  • Sidecar: 主要负责任务进程和控制台程序之间的信息交互并且保证任务进程高可用

  • 任务内核:任务内核进程,负责全量

三、部署CloudCanal

硬件和系统准备

  • 操作系统:CentOS/RHEL 或 Ubuntu 或 MacOS

  • CPU架构

    x86 或 arm64v8

  • 最低配置

    2 核 CPU

    6 GB 内存

这里以乌班图22.04为例安装:

安装基础工具

sudo apt update
sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
sudo apt-get install -y lsof
sudo apt-get install -y bc
sudo apt-get install -y p7zip-full

下载安装包

wget -c "https://tgzdownload.clougence.com/4.5.0.1/cloudcanal.7z?Expires=1740467360&OSSAccessKeyId=LTAI4G5wdUHmu9t19fVLkC2w&Signature=0RjJpBE%2FPSMuCHyZFBSUVMkDo3I%3D" -Ocloudcanal_x86_v4.5.0.1_docker.7z

解压安装包

7z x cloudcanal.7z -o./cloudcanal_home
cd cloudcanal_home/install_on_docker

安装 CloudCanal

bash install.sh

开始使用

http://ip:8111/#/data/job/list
  • 账号: test@clougence.com

  • 密码: clougence2021

  • 默认验证码: 777777

使用数字许可证激活

添加数据源

创建同步任务  

查看任务

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值