问题描述
开启幂等功能后,发送消息时客户端报Cluster authorization failed
错误。
问题原因
您使用了云存储Topic,云存储Topic不支持幂等功能。
如果使用Local Topic,并开启了ACL功能,默认情况下,根据Kafka开源协议,Broker会判断发送者是否对Cluster集群存在
IDEMPOTENT_WRITE
操作权限。如果不存在该权限,发送就会失败。
解决方案
云存储类型Topic默认不支持幂等功能,可以关闭幂等功能。设置发送端
enable.idempotence=false
。说明云消息队列 Kafka 版客户端版本在V3.0及以上默认开启幂等功能(即
enable.idempotence=true
)。为Cluster添加ACL相关权限,在控制台SASL权限管理页面添加对相应用户的Cluster资源类型的幂等写权限(IDEMPOTENT_WRITE)。更多信息,请参见使用ACL功能进行访问控制。