开启幂等功能,发送消息报“Cluster authorization failed”错误

问题描述

开启幂等功能后,发送消息时客户端报Cluster authorization failed错误。

问题原因

  • 您使用了云存储Topic,云存储Topic不支持幂等功能。

  • 如果使用Local Topic,并开启了ACL功能,默认情况下,根据Kafka开源协议,Broker会判断发送者是否对Cluster集群存在IDEMPOTENT_WRITE操作权限。如果不存在该权限,发送就会失败。

解决方案

  1. 预留实例云存储类型Topic默认不支持幂等功能,可以关闭幂等功能。设置发送端enable.idempotence=false

    说明

    云消息队列 Kafka 版客户端版本在V3.0及以上默认开启幂等功能(即enable.idempotence=true)。

  2. 为Cluster添加ACL相关权限,在控制台SASL权限管理页面添加对相应用户的Cluster资源类型的幂等写权限(IDEMPOTENT_WRITE)。更多信息,请参见使用ACL功能进行访问控制image