TiDB binlog 设置并将数据传出到kafka

系统环境

系统: centos7
tidb版本号: v4.0.9
kafka版本号: 2.4.1

集群单机部署配置文件deploy.yaml

# # Global variables are applied to all deployments and used as the default value of
# # the deployments if a specific deployment value is missing.
# # user is system user
global:
 user: "tidb"
 ssh_port: 22
 deploy_dir: "/data/tidb-deploy"
 data_dir: "/data/tidb-data"

# # Monitored variables are applied to all the machines.
monitored:
 node_exporter_port: 9100
 blackbox_exporter_port: 9115

server_configs:
 tidb:
   log.slow-threshold: 300
 tikv:
   readpool.storage.use-unified-pool: false
   readpool.coprocessor.use-unified-pool: true
 pd:
   replication.enable-placement-rules: true
   replication.location-labels: ["host"]
 tiflash:
   logger.level: "info"

pd_servers:
 - host: 10.148.60.200

tidb_servers:
 - host: 10.148.60.200

tikv_servers:
 - host: 10.148.60.200
   port: 20160
   status_port: 20180
   config:
     server.labels: { host: "logic-host-1" }

 - host: 10.148.60.200
   port: 20161
   status_port: 20181
   config:
     server.labels: { host: "logic-host-2" }

 - host: 10.148.60.200
   port: 20162
   status_port: 20182
   config:
     server.labels: { host: "logic-host-3" }

tiflash_servers:
 - host: 10.148.60.200

monitoring_servers:
 - host: 10.148.60.200

grafana_servers:

 - host: 10.148.60.200
# 部署
tiup cluster deploy <cluster-name> v4.0.9 deploy.yaml --user root -p
# 查看
tiup cluster list
# 启动
tiup cluster start <cluster-name>

原始集群

binlog 状态:0为关闭,1为开启

binlog状态

步骤

  1. 拓展pump组件

pump配置文件信息

cat pump.yaml
pump_servers:
  - host: 10.148.60.200
    ssh_port: 22
    port: 8250
    deploy_dir: /data/tidb-deploy/pump-8249
    data_dir: /data/tidb-data/pump-8249
    config:
      gc: 7
    arch: amd64
    os: linux

执行拓展集群指令

# 需要输入root账号的密码
tiup cluster scale-out <cluster-name> pump.yaml --user root -p

修改pump后

  1. 修改集群配置文件
tiup cluster edit-config <cluster-name> 

修改此处开启binlog

server_configs:
  tidb:
    binlog.enable: true
    binlog.ignore-error: true
    log.slow-threshold: 300

配置的生效范围,有以下两种生效范围:
如果配置的生效范围为该组件全局,则配置到 server_configs。
例如:

server_configs:
  tidb:
    log.slow-threshold: 300

如果配置的生效范围为某个节点,则配置到具体节点的 config 中。
例如:

tidb_servers:
- host: 10.148.60.200
    port: 4000
    config:
        log.slow-threshold: 300
  1. 重新加载集群配置信息
tiup cluster reload <cluster-name> [-N node | -R role]
# -N 是只加载节点
# -R 是只加载角色
  1. 查看集群扩展情况
    在这里插入图片描述

  2. 查看binlog开启状态

show varlables lile "%log_bin%";

在这里插入图片描述

  1. 扩展drainer组件

drainer配置文件

drainer_servers:
  - host: 10.148.60.200
    ssh_port: 22
    port: 8249
    deploy_dir: /data/tidb-deploy/drainer-8249
    data_dir: /data/tidb-data/drainer-8249
    commit_ts: -1
    config:
      syncer.db-type: kafka
      syncer.to.kafka-addrs: 10.148.60.201:9092
      syncer.to.kafka-version: 2.4.1
      syncer.to.topic-name: tidb-test
    arch: amd64
    os: linux

执行扩展指令

tiup cluster scale-out <cluster-name> drainer.yaml --user root -p

扩展成功
在这里插入图片描述

  1. 测试数据增加
    在数据库内新增一个测试库
# drainer 日志信息
tail -f /data/tidb-deploy/drainer-8249/log/drainer.log

在这里插入图片描述
可以看到日志内记录了数据库的增加操作并发送到了kafka生成了一个topics
在这里插入图片描述
使用kafka消费者命令查看内容:

protobuf编码 在这里有乱码

在这里插入图片描述
至此 TIDB Binlog 开启完成

感谢支持,不足之处多多指教!!!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值