我有一个不安全的kafka实例,有2个代理,一切运行正常,直到我决定为主题配置ACL,在ACL配置后,我的消费者停止从Kafka轮询数据,并且在获取具有相关ID的元数据时我不断收到警告错误,我的代理属性看起来像下面:-
listeners=PLAINTEXT://localhost:9092 advertised.listeners=PLAINTEXT://localhost:9092 authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer allow.everyone.if.no.acl.found=true
我的客户端配置如下所示: –
bootstrap.servers=localhost:9092 topic.name=topic-name group.id=topic-group
我用下面的命令来配置ACL
bin\windows\kafka-acls.bat --authorizer-properties zookeeper.connect=localhost:2181 --add --allow-principal User:* Read --allow-host localhost --consumer --topic topic-name --group topic-group
在我启动消费者后完成所有上述配置后,它停止接收消息.有人可以指出我在误解的地方.提前致谢.
解决方法
我们成功使用ACL,但没有使用PLAINTEXT协议. 恕我直言,您将使用SSL协议,而不是localhost使用真正的机器名称.