TiCDC 无法接入kafka

kafka 版本 2.5.1
kafka partition 数为 3
tidb版本 v5.4.1

命令参数
tiup cdc:v5.4.1 cli changefeed create -c xxx --pd=http://xxx.xxx.xxx.xxx:xxx --sink-uri=“kafka://kfkurl/topic_name?protocol=canal-json&enable-tidb-extension=true&kafka-version=2.5.1&partition-num=3&kafka-client-id=producer_name&max-message-bytes=8388608&replication-factor=3&sasl-user=xxxx&sasl-password=xxxx&sasl-mechanism=SCRAM-SHA-256” --sort-engine=“unified” --config=/home/xxx/xxx/xxxx.yaml

报错
[CDC:ErrKafkaNewSaramaProducer]new sarama producer: [CDC:ErrKafkaInvalidConfig]because TiCDC Kafka producer’s request.required.acks defaults to -1, TiCDC cannot deliver messages when the replication-factor is less than min.insync.replicas: kafka server: The client is not authorized to send this request type.

查过这个bug,但在 5.4.0 已经修复了
https://github.com/pingcap/tiflow/issues/3994

请问是我哪个参数没有设置对吗?

感觉不是你说的bug
应该是这个bug:https://github.com/pingcap/tiflow/issues/5293
merge的时间貌似也在5.4.1之前,不太清楚是否影响5.4.1版本。感觉可以先在kafka建立topic,然后用cdc同步,应该能解决

就是在 kafka 里预先创建好了一个 topic ,然后用 cdc 创建任务报的这个bug , 我在测试的 kafka 做过测试,把 asal 去掉就可以正常同步。

额,是不是kafka本身就没有开启sasl验证啊,要不然很奇怪啊,如果开启了验证,去掉验证参数怎么还能正常同步呢

额,我的意思是
生产环境 kafka 和 ticdc 都开启了认证触发了bug
测试环境 kafka 和 ticdc 没有开启认证,可以正常建立cdc 任务

您好 min.insync.replicas 是多少呢?
请确认 sasl-user、sasl-password 是否正确? sasl-mechanism=SCRAM-SHA-256 可以改成小写 试一下。

试了下,不行的,sasl-mechanism后面的值必须大写

我出现了“ Kafka server: the client is not authorized to send this request type”,应该和你的错误类似,花了很长的时间去找问题原因,最终发现还是kafka用户的权限问题,TiCDC通过ACL连接Kafka是有一定的权限要求的:

ACL 授权TiCDC 能够正常工作所需的最小权限集合如下:
(1)对 Topic 资源类型的 Create 和 Write 权限。
(2)对 Cluster 资源类型的 DescribeConfigs 权限。

我出现问题的原因是:Kafka用户少了Topic资源类型的Write权限,以及Cluster资源类型的 DescribeConfigs 权限;

注:TiDB版本为V5.3.2

参考:
https://docs.pingcap.com/zh/tidb/dev/manage-ticdc

kafka 版本正确吗?

正确的

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