用tiup安装tidb-binlog和两组件:pumper和drainer,pumper可以正常启动,但是,drainer日志报错如下:

【 TiDB 使用环境】生产环境 or 测试环境 or POC
【 TiDB 版本】v5.4.0
【遇到的问题】使用tiup安装tidb-binlog和两组件:pumper和drainer,pumper可以正常启动,但是,drainer日志报错如下:
[2022/04/14 15:36:08.773 +08:00] [INFO] [store.go:80] [“new store with retry success”]
[2022/04/14 15:36:09.400 +08:00] [ERROR] [client.go:752] ["[pd] fetch pending tso requests error"] [dc-location=global] [error="[PD:client:ErrClientGetTSO]context canceled: context canceled"]
[2022/04/14 15:36:09.400 +08:00] [INFO] [client.go:666] ["[pd] exit tso dispatcher"] [dc-location=global]
[2022/04/14 15:36:09.400 +08:00] [FATAL] [main.go:50] [“create drainer server failed”] [error="fail to create kafka dsyncer: invalid version 1.0.0.3"] [errorVerbose=“invalid version 1.0.0.3\ngithub.com/pingcap/errors.AddStack\ \t/nfs/cache/mod/github.com/pingcap/errors@v0.11.5-0.20211224045212-9687c2b0f87c/errors.go:174\ github.com/pingcap/errors.Trace\ \t/nfs/cache/mod/github.com/pingcap/errors@v0.11.5-0.20211224045212-9687c2b0f87c/juju_adaptor.go:15\ github.com/pingcap/tidb-binlog/pkg/util.NewSaramaConfig\ \t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb-binlog/pkg/util/kafka.go:49\ github.com/pingcap/tidb-binlog/drainer/sync.NewKafka\ \t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb-binlog/drainer/sync/kafka.go:75\ github.com/pingcap/tidb-binlog/drainer.createDSyncer\ \t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb-binlog/drainer/syncer.go:115\ github.com/pingcap/tidb-binlog/drainer.NewSyncer\ \t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb-binlog/drainer/syncer.go:104\ github.com/pingcap/tidb-binlog/drainer.createSyncer\ \t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb-binlog/drainer/server.go:207\ github.com/pingcap/tidb-binlog/drainer.NewServer\ \t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb-binlog/drainer/server.go:149\ main.main\ \t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb-binlog/cmd/drainer/main.go:48\ runtime.main\ \t/usr/local/go/src/runtime/proc.go:225\ runtime.goexit\ \t/usr/local/go/src/runtime/asm_amd64.s:1371\ fail to create kafka dsyncer”] [stack=“main.main\ \t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb-binlog/cmd/drainer/main.go:50\ runtime.main\ \t/usr/local/go/src/runtime/proc.go:225”]
【复现路径】做过哪些操作出现的问题
【问题现象及影响】

【附件】

error="fail to create kafka dsyncer: invalid version 1.0.0.3

配置什么信息,导致了这个错误?
可以把配置贴出来么?

drainer_servers:

  • host: 10.237.66.99
    port: 8249
    deploy_dir: “/tidb-deploy/drainer-8249”
    data_dir: “/tidb-data/drainer-8249”

    If Drainer does not have a checkpoint, use the initial commitTS as the initial checkpoint.

    If commit_ts is set to -1 (the default value), you will get a latest timestamp from PD.

    commit_ts: -1

    The following configurations are used to overwrite the server_configs.drainer values.

    config:
    syncer.db-type: “kafka”
    syncer.replicate-do-db:
    • new_fee_uat
      syncer.to.kafka-addrs: “172.17.32.128:9092,172.17.32.138:9092,172.17.32.139:9092”
      syncer.to.kafka-version: “1.0.0.3.1”
      syncer.to.topic-name: “test_new_charge_tidb”

kafka,没这个版本号吧

syncer.to.kafka-version: “1.0.0.3.1”
先是配置的kafaka的版本号为:1.0.0.3.1,启动报错一样提示: [error="fail to create kafka dsyncer: invalid version 1.0.0.3.1 "
后来把配置的kafaka的版本号为:1.0.0.3,启动报错一样提示: [error="fail to create kafka dsyncer: invalid version 1.0.0.3 "

好好查一下版本号,在调整一下,估计重启就好了

这个是研发那边给我提供的kafaka的版本

版本号在这,,你看看有没有 贴出来的哪种… 感觉你被忽悠了…

1 个赞

kafka没有提供查看版本号的脚本,那么要怎么查看呢?
1 进入kafka的安装目录
2 执行如下脚本

find ./libs/ -name *kafka_* | head -1 | grep -o ‘\kafka[^\ ]*’
运行结果,类似下面的
kafka_2.12-1.1.0-sources.jar
其中2.12表示Scala版本;1.1.0表示kafka版本!

启动日志还是报错:
[2022/04/14 16:04:37.517 +08:00] [INFO] [client.go:666] ["[pd] exit tso dispatcher"] [dc-location=global]
[2022/04/14 16:04:37.517 +08:00] [FATAL] [main.go:50] [“create drainer server failed”] [error="fail to create kafka dsyncer: invalid version 2.0.0.3"] [errorVerbose=“invalid version 2.0.0.3\ngithub.com/pingcap/errors.AddStack\ \t/nfs/cache/mod/github.com/pingcap/errors@v0.11.5-0.20211224045212-9687c2b0f87c/errors.go:174\ github.com/pingcap/errors.Trace\ \t/nfs/cache/mod/github.com/pingcap/errors@v0.11.5-0.20211224045212-9687c2b0f87c/juju_adaptor.go:15\ github.com/pingcap/tidb-binlog/pkg/util.NewSaramaConfig\ \t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb-binlog/pkg/util/kafka.go:49\ github.com/pingcap/tidb-binlog/drainer/sync.NewKafka\ \t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb-binlog/drainer/sync/kafka.go:75\ github.com/pingcap/tidb-binlog/drainer.createDSyncer\ \t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb-binlog/drainer/syncer.go:115\ github.com/pingcap/tidb-binlog/drainer.NewSyncer\ \t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb-binlog/drainer/syncer.go:104\ github.com/pingcap/tidb-binlog/drainer.createSyncer\ \t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb-binlog/drainer/server.go:207\ github.com/pingcap/tidb-binlog/drainer.NewServer\ \t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb-binlog/drainer/server.go:149\ main.main\ \t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb-binlog/cmd/drainer/main.go:48\ runtime.main\ \t/usr/local/go/src/runtime/proc.go:225\ runtime.goexit\ \t/usr/local/go/src/runtime/asm_amd64.s:1371\ fail to create kafka dsyncer”] [stack=“main.main\ \t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb-binlog/cmd/drainer/main.go:50\ runtime.main\ \t/usr/local/go/src/runtime/proc.go:225”]

刚才看了下drainer的服务器,到目标kafaka的三台服务器,# telnet 172.17.32.128 9092
Trying 172.17.32.128…
telnet: connect to address 172.17.32.128: Connection refused

我找运维给开通一下权限互访,一会儿再试下。

请问问题解决了吗 ?