【 TiDB 使用环境】生产环境
【 TiDB 版本】6.1.0
【复现路径】
1、通过tiup搭建的集群,pump一共三个节点,分别分布在不同的服务器上,
组件名称 | tidb集群关联IP | 服务器上另外一个网卡的IP |
---|---|---|
pump | 172.16.2.119 | 192.168.20.236 |
172.16.2.120 | 192.168.20.237 | |
172.16.2.35 | 192.168.20.55 | |
tiup | 172.16.2.105 | 192.168.20.235 |
如下图: | ||
![1668654100678 | 690x403](upload://rhgYpnHtD0YE4k5Rod5BGTvOngl.png) | |
2、集群打开binlog,并扩展安装drainer连接下游mysql用作binlog的实时同步,扩展脚本如下: | ||
drainer_servers: |
- host: 172.16.2.35
port: 8249
data_dir: “/home/data-tidb/tidb-data/drainer-8249”
commit_ts: -1
deploy_dir: “/home/data-tidb/tidb-deploy/drainer-8249”
config:
syncer.db-type: “mysql”
syncer.to.host: “172.1.1.13”
syncer.to.user: “xxxx”
syncer.to.password: “xxxxx”
syncer.to.port: 4000
扩展后查看集群也是能正常运行的
【遇到的问题:问题现象及影响】
drainer组件没有同步,日志报错:
[2022/11/17 11:40:13.627 +08:00] [INFO] [pump.go:140] [“pump create pull binlogs client”] [id=192.168.20.235:8250]
[2022/11/17 11:40:13.627 +08:00] [ERROR] [pump.go:240] [“pump create PullBinlogs client failed”] [id=192.168.20.235:8250] [error=“rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial tcp 192.168.20.235:8250: connect: connection refused"”]
[2022/11/17 11:40:13.627 +08:00] [ERROR] [pump.go:142] [“pump create pull binlogs client failed”] [id=192.168.20.235:8250] [error=“rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial tcp 192.168.20.235:8250: connect: connection refused"”] [errorVerbose=“rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial tcp 192.168.20.235:8250: connect: connection refused"\ngithub.com/pingcap/errors.AddStack\n\t/go/pkg/mod/github.com/pingcap/errors@v0.11.5-0.20211224045212-9687c2b0f87c/errors.go:174\ngithub.com/pingcap/errors.Trace\n\t/go/pkg/mod/github.com/pingcap/errors@v0.11.5-0.20211224045212-9687c2b0f87c/juju_adaptor.go:15\ngithub.com/pingcap/tidb-binlog/drainer.(*Pump).createPullBinlogsClient\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb-binlog/drainer/pump.go:244\ngithub.com/pingcap/tidb-binlog/drainer.(*Pump).PullBinlog.func1\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb-binlog/drainer/pump.go:141\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1571”]
这里drainer居然识别不到已经搭建好了的pump,而是去控制机上通过另外一块网卡找pump
【资源配置】
【附件:截图/日志/监控】