初试DTLE-单向-聚合-分散复制

本文介绍了DTLE,一个由上海爱可生公司开发的CDC工具,支持多种数据传输和处理模式。详细阐述了如何配置和使用DTLE进行单向复制、聚合复制和分散复制,包括MySQL数据库之间的数据同步。还提到了HTTP API和nomad命令行工具的使用,以及在不同场景下的应用示例。
摘要由CSDN通过智能技术生成

环境准备

主机名 IP地址 部署服务
study01 10.186.65.68 DTLE、MySQL
study02 10.186.65.71 DTLE、MySQL
study03 10.186.65.72 DTLE、MySQL

Ps:如果不适用容器进行部署,首先安装三台或以上MySQL实例,并开启binlog以及GTID

DTLE概述

dtle (Data-Transformation-le) 是上海爱可⽣信息技术股份有限公司 开发并开源的 CDC ⼯具. 其功能特点是:

  1. 多种数据传输模式

    • ⽀持链路压缩
    • ⽀持同构传输和异构传输
    • ⽀持跨⽹络边际的传输
  2. 多种数据处理模式

    • ⽀持库/表/⾏级别 数据过滤
  3. 多种数据通道模式

    • ⽀持多对多的数据传输
    • ⽀持回环传输
  4. 多种源/⽬标端

    • ⽀持MySQL - MySQL的数据传输
    • ⽀持MySQL - Kafka的数据传输
  5. 集群模式

    • 提供可靠的元数据存储
    • 可进⾏⾃动任务分配
    • ⽀持⾃动故障转移

单向复制/聚合/分散

DTLE支持的常见复制场景如下

  1. 按数据源/数据目标划分

    • 支持1个源端到一个目标端的复制
    • 支持多个源端到一个目标端的聚合复制
    • 支持一个源端到多个目标的拆分复制
  2. 按网络类型划分

    • 支持网络内部数据传输
    • 支持跨网络的数据传输(可使⽤ 链路压缩/链路限流 等功能)
  3. 按集群规模划分

    • 可配置单⼀dtle实例处理单⼀数据通道
    • 可配置 dtle集群 处理 多个数据通道

image

DTLE单项复制
  1. 下载DTLE的RPM安装包
https://github.com/actiontech/dtle/releases/tag/v3.21.03.0
  1. 安装RPM包
[root@study01 ~]# rpm -ivh dtle-3.21.03.0.x86_64.rpm --prefix=/data/dtle
  1. 修改consul配置文件,如果安装时不指定安装路径,默认是在/etc/dtle目录下面
[root@study01 dtle]# pwd
/data/dtle/etc/dtle

[root@study01 dtle]# cat consul.hcl 
# Rename for each node
node_name = "consul0"   #定义consul名称,多集群名字不能重复
data_dir = "/data/dtle/var/lib/consul"
ui = true

disable_update_check = true

# Address that should be bound to for internal cluster communications
bind_addr = "0.0.0.0"
# Address to which Consul will bind client interfaces, including the HTTP and DNS servers
client_addr = "10.186.65.68"    #本机ip地址
advertise_addr = "10.186.65.68" #本机ip地址
ports = {
  # Customize if necessary. -1 means disable.
  #dns = -1
  #server = 8300
  #http = 8500
  #serf_wan = -1
  #serf_lan = 8301
}

limits = {
  http_max_conns_per_client = 4096
}

server = true
# For single node
bootstrap_expect = 1    #一台consul

# For 3-node cluster
#bootstrap_expect = 3   #三台consul,部署集群开启
#retry_join = ["127.0.0.1", "127.0.0.2", "127.0.0.3"] # will use default serf port

log_level = "INFO"
log_file = "/data/dtle/var/log/consul/"

  1. 修改nomad配置文件,如果安装时不指定安装路径,默认是在/etc/dtle目录下面
root@study01 dtle]# ls
consul.hcl  nomad.hcl

[root@study01 dtle]# pwd
/data/dtle/etc/dtle

[root@study01 dtle]# cat nomad.hcl
name = "nomad0" # rename for each node 定义nomad名字,部署集群名字不可重复
datacenter = "dc1"
data_dir  = "/data/dtle/var/lib/nomad"
plugin_dir = "/data/dtle/usr/share/dtle/nomad-plugin"

log_level = "Info"
log_file = "/data/dtle/var/log/nomad/"

disable_update_check = true

bind_addr = "0.0.0.0"   #监听地址
# change ports if multiple nodes run on a same machine
ports {
  http = 4646
  rpc  = 4647
  serf = 4648
}
addresses {
  # Default to `bind_addr`. Or set individually here.
  #http = "127.0.0.1"
  #rpc  = "127.0.0.1"
  #serf = "127.0.0.1"
}
advertise {
  http = "10.186.65.68:4646"
  rpc  = "10.186.65.68:4647"
  serf = "10.186.65.68:4648"
}

server {
  enabled          = true   #服务端开启

  bootstrap_expect = 1
  # Set bootstrap_expect to 3 for multiple (high-availablity) nodes.
  # Multiple nomad nodes will join with consul.
}

client {
  enabled = true
  options = {
    "driver.blacklist" = "docker,exec,java,mock,qemu,rawexec,rkt"
  }

  # Will auto join other server with consul.
}

consul {
  # dtle-plugin and nomad itself use consul separately.
  # nomad uses consul for server_auto_join and client_auto_join.
  # Only one consul can be set here. Write the nearest here,
  #   e.g. the on
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值