Kafka GroupAuthorizationException:消费者组授权失败求正确ACL配置
问题分析与解决方案
问题根源
使用消费组消费时,Kafka消费者需要向内置主题__consumer_offsets写入和读取消费偏移量,你当前未配置该主题的ACL权限,因此触发GroupAuthorizationException。而指定分区消费无需提交偏移量到该主题,所以可以正常执行。
解决步骤
1. 为test-app配置__consumer_offsets主题的权限
执行以下命令授予用户该主题的全部权限(或根据需求指定具体操作):
bin/kafka-acls.sh --authorizer kafka.security.auth.SimpleAclAuthorizer \ --authorizer-properties zookeeper.connect=zookeeper:2181 \ --add --allow-principal User:test-app \ --operation All \ --topic __consumer_offsets
若需最小权限集,可指定必要操作:
bin/kafka-acls.sh --authorizer kafka.security.auth.SimpleAclAuthorizer \ --authorizer-properties zookeeper.connect=zookeeper:2181 \ --add --allow-principal User:test-app \ --operation Read --operation Write --operation Describe \ --topic __consumer_offsets
2. 验证ACL配置
执行命令确认权限已生效:
bin/kafka-acls.sh --authorizer kafka.security.auth.SimpleAclAuthorizer \ --authorizer-properties zookeeper.connect=zookeeper:2181 \ --list --topic __consumer_offsets
3. 重新执行消费命令
再次运行你的消费组消费命令,即可正常消费消息。
新主题生产消费的ACL配置要点
当创建新主题并使用消费组消费时,需配置以下ACL:
- 业务主题:授予用户
Write(生产)、Read/Describe(消费)权限 - 消费组:授予用户
Read/Describe/All权限(用于消费组管理) - __consumer_offsets主题:一次配置即可,所有消费组共享该主题存储偏移量
内容的提问来源于stack exchange,提问作者Владимир Говорухин
相关产品推荐
相关产品推荐

