【发布时间】:2018-07-04 16:31:48
【问题描述】:
我在向受 ACL 保护的 Kafka 主题(名为 secure.topic)生成消息时遇到问题。
我的基于 Groovy 的生产者抛出此错误:
Error while fetching metadata with correlation id 9 : {secure.topic=LEADER_NOT_AVAILABLE}
关于配置的一些注意事项:
- 1 Kafka 服务器,版本 2.11_1.0.0(服务器和 Java 客户端库)
- 主题 ACL 设置为
All(也使用--producer进行了测试)并且用户是证书中指定的全名 - 使用自行生成的证书启用客户端身份验证
额外的服务器配置:
security.inter.broker.protocol = SSL
ssl.client.auth = required
authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer
如果我删除 authorizer.class.name 属性,那么我的客户端可以生成消息(因此,没问题使用 SSL 和证书)。
此外,kafka-authorizer.log 会生成以下消息:
[2018-01-25 11:57:02,779] INFO Principal = User:CN= User,OU=XXX,O=XXX,L=XXX,ST=Unknown,C=X is Denied Operation = ClusterAction from host = 127.0.0.1 on resource = Cluster:kafka-cluster (kafka.authorizer.logger)
知道启用 ACL 时会导致 LEADER_NOT_AVAILABLE 错误的原因吗?
【问题讨论】:
标签: java groovy apache-kafka kafka-producer-api