Drainer无法推送binlog数据到kafka集群

集群情况如下:
node1 192.168.138.18 PD1, TiDB1 4c16G 200GHHD
node2 192.168.138.19 PD2, TiDB2 4c16G 200GHHD
node3 192.168.138.21 PD3 2c16G 200GHHD
node4 192.168.138.22 TiKV1,zk,kakfka 2c16G 200GHHD
node5 192.168.138.23 TiKV2,zk,kakfka 2c16G 200GHHD
node6 192.168.138.24 TiKV3,zk,kakfka 2c16G 200GHHD

tidb版本:v3.0.0

问题描述:
zk和kafka节点都是运行的。而且pump有binlog数据(为了测试做了insert操作):


系统做了基于文件和kafka的binlog日志存储:

部署和启动Drainer都没有出现异常日志。
|PS:kafka里边的binlog数据目的是为了elasricsearch集群使用,所以kafka、必须要有数据。

问题表现:
监控的Drainer里边有部分数据:


但是kafka没有输出任何主题信息:
image
中控机配置配置文件列表:
image

ansible-playbook deploy_drainer.yml命令执行结果:

ansible-playbook start_drainer.yml命令执行结果:


drainer启动日志:

drainer后台日志:

求解答:kafka里边为啥没有存放数据的相应主题或数据?

1 个赞

补充:
中控机的inventory.ini:


drainer_kafka_drainer-cluster.toml:

https://pingcap.com/docs-cn/v2.1/reference/tools/tidb-binlog/binlog-slave-client/#配置-kafka-drainer

有做这边相关的配置么?

drainer_kafka_drainer-cluster.toml 配置了kafka的相关配置:


我们没有自定义开发的需求,只想用kafka默认的消息格式:

proto必须要配置吗? 如果配置的话,这个proto文件配置在哪里?

  1. 查查 tidb 日志里是不是有写 binlog 报错,导致之后一直没产生 binlog
  2. 能不能提供 pump drainer 的日志

新插入了一条数据:


在tidb节点查看tidb日志:tail -f tidb.log

PS:10.20.92.59 是我的工作笔记本ip。
在tidb节点查看pump日志: tail -300 pump.log

drainer日志:

可以看到tidb有异常,但是我看不懂什么原因,奇怪的是现在kafka里边有主题了。。。
image

但是tidb的那个异常是什么原因? 令我费解的是之前试了好几次都没有成功,只有这一次成功了。
而且kafka的topic名称比较古怪:6717826900501472462_obinlog

1 个赞

tidb 异常看着是 SQL 语句的语法问题,挑出那条语句看下。

已经解决了,日志里边的异常是其他sql导致的异常,不是测试sql的异常。

好的。

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。