【发布时间】:2016-06-16 09:40:26
【问题描述】:
我正在尝试使用 SASL(通过 Kerberos)身份验证运行 3 台机器的 Kafka 集群。第一个节点启动良好,并创建所有相关的 Zookeeper 节点(/brokers、/consumers 等)。
但是,由于这些 znode 上的身份验证问题,没有其他代理可以成功启动。具体来说,我看到以下异常导致其他代理在启动时失败:
[2016-06-15 22:27:04,365] DEBUG Reading reply sessionid:0x355561ae10f0008, packet:: clientPath:null serverPath:null finished:false header:: 13,5 replyHeader:: 13,4294967436,-102 request:: '/brokers/seqid,,-1 response:: (org.apache.zookeeper.ClientCnxn)
[2016-06-15 22:27:04,372] ERROR Failed to generate broker.id due to (kafka.server.KafkaServer)
org.I0Itec.zkclient.exception.ZkException: org.apache.zookeeper.KeeperException$NoAuthException: KeeperErrorCode = NoAuth for /brokers/seqid
at org.I0Itec.zkclient.exception.ZkException.create(ZkException.java:68)
at org.I0Itec.zkclient.ZkClient.retryUntilConnected(ZkClient.java:1000)
at org.I0Itec.zkclient.ZkClient.writeDataReturnStat(ZkClient.java:1147)
at kafka.utils.ZkUtils.getSequenceId(ZkUtils.scala:799)
at kafka.utils.ZkUtils.getBrokerSequenceId(ZkUtils.scala:214)
at kafka.server.KafkaServer.generateBrokerId(KafkaServer.scala:677)
at kafka.server.KafkaServer.getBrokerId(KafkaServer.scala:653)
at kafka.server.KafkaServer.startup(KafkaServer.scala:187)
at kafka.server.KafkaServerStartable.startup(KafkaServerStartable.scala:37)
at kafka.Kafka$.main(Kafka.scala:67)
at kafka.Kafka.main(Kafka.scala)
Caused by: org.apache.zookeeper.KeeperException$NoAuthException: KeeperErrorCode = NoAuth for /brokers/seqid
at org.apache.zookeeper.KeeperException.create(KeeperException.java:113)
at org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
at org.apache.zookeeper.ZooKeeper.setData(ZooKeeper.java:1270)
at org.I0Itec.zkclient.ZkConnection.writeDataReturnStat(ZkConnection.java:138)
at org.I0Itec.zkclient.ZkClient$13.call(ZkClient.java:1151)
at org.I0Itec.zkclient.ZkClient.retryUntilConnected(ZkClient.java:990)
... 9 more
我可以在日志的前面看到这些代理对 kerberos 进行身份验证。
如果我获得/brokers/seqid 的 acl,它只有一个成功运行的 kafka 代理的 cdrwa 权限:
getAcl /brokers/seqid
'world,'anyone
: r
'sasl,'kafka_stage/running.kafka.node@REALM
: cdrwa
我确定我配置了一些错误,但我搜索了很多有相同问题的人,但没有找到。任何帮助将不胜感激。
【问题讨论】:
-
嗨,汤姆。你解决了这个问题吗?我也有同样的问题。提供的答案似乎并不完整,因为据我了解,您使用了相同的主体和不同的 fqdn。谢谢。
标签: apache-kafka