文档首页 > > 故障排除> 使用Kafka> 执行Kafka Topic创建操作,发现Partition的Leader显示为none

执行Kafka Topic创建操作,发现Partition的Leader显示为none

分享
更新时间: 2019/12/23 GMT+08:00

问题背景与现象

在使用Kafka客户端命令创建Topic时,发现创建Topic Partition的Leader显示为none。

[root@10-10-144-2 client]# 
kafka-topics.sh --create  --replication-factor 1 --partitions 2 --topic test --zookeeper 10.6.92.36:2181/kafka

Created topic "test".

[root@10-10-144-2 client]# 
kafka-topics.sh --describe --zookeeper 10.6.92.36:2181/kafka

Topic:test      PartitionCount:2        ReplicationFactor:2     Configs:
        Topic: test     Partition: 0    Leader: none       Replicas: 2,3   Isr:
        Topic: test     Partition: 1    Leader: none       Replicas: 3,1   Isr:

可能原因

  • Kafka服务处于停止状态。
  • 找不到用户组信息。

原因分析

  1. 通过MRS Manager页面,单击“服务管理 > Kafka”,查看Kafka集群当前状态,发现状态为“良好”,且监控指标内容显示正确。
  2. 通过MRS Manager页面,单击“服务管理 > Kafka”,在Kafka Summary中获取Controller节点信息。
    图1 Kafka服务信息
  3. 登录Controller所在节点,通过cd /var/log/Bigdata/kafka/broker命令进入节点日志目录,在state-change.log发现存在ZooKeeper权限异常,提示NoAuthException。
    2018-05-31 09:20:42,436 | ERROR | [ZkClient-EventThread-34-10.6.92.36:24002,10.6.92.37:24002,10.6.92.38:24002/kafka] | Controller 4 epoch 6 initiated state change for partition [test,1] from NewPartition to OnlinePartition failed | state.change.logger (Logging.scala:103) 
    
     org.I0Itec.zkclient.exception.ZkException: org.apache.zookeeper.KeeperException$NoAuthException: KeeperErrorCode = NoAuth for /brokers/topics/test/partitions
     at org.I0Itec.zkclient.exception.ZkException.create(ZkException.java:68)
     at org.I0Itec.zkclient.ZkClient.retryUntilConnected(ZkClient.java:1000)
     at org.I0Itec.zkclient.ZkClient.create(ZkClient.java:527)
     at org.I0Itec.zkclient.ZkClient.createPersistent(ZkClient.java:293)
  4. 查看对应时间段ZooKeeper审计日志,权限异常。
    2018-05-31 09:20:42,421 | ERROR | CommitProcWorkThread-1 | session=0xc3000007015d5a18	user=10.6.92.39,kafka/hadoop.hadoop.com@HADOOP.COM,kafka/hadoop.hadoop.com@HADOOP.COM	ip=10.6.92.39	operation=create znode	target=ZooKeeperServer	znode=/kafka/brokers/topics/test/partitions/0/state	result=failure 
    2018-05-31 09:20:42,423 | ERROR | CommitProcWorkThread-1 | session=0xc3000007015d5a18	user=10.6.92.39,kafka/hadoop.hadoop.com@HADOOP.COM,kafka/hadoop.hadoop.com@HADOOP.COM	ip=10.6.92.39	operation=create znode	target=ZooKeeperServer	znode=/kafka/brokers/topics/test/partitions/0	result=failure 
    2018-05-31 09:20:42,435 | ERROR | CommitProcWorkThread-1 | session=0xc3000007015d5a18	user=10.6.92.39,kafka/hadoop.hadoop.com@HADOOP.COM,kafka/hadoop.hadoop.com@HADOOP.COM	ip=10.6.92.39	operation=create znode	target=ZooKeeperServer	znode=/kafka/brokers/topics/test/partitions	result=failure 
    2018-05-31 09:20:42,439 | ERROR | CommitProcWorkThread-1 | session=0xc3000007015d5a18	user=10.6.92.39,kafka/hadoop.hadoop.com@HADOOP.COM,kafka/hadoop.hadoop.com@HADOOP.COM	ip=10.6.92.39	operation=create znode	target=ZooKeeperServer	znode=/kafka/brokers/topics/test/partitions/1/state	result=failure 
    2018-05-31 09:20:42,441 | ERROR | CommitProcWorkThread-1 | session=0xc3000007015d5a18	user=10.6.92.39,kafka/hadoop.hadoop.com@HADOOP.COM,kafka/hadoop.hadoop.com@HADOOP.COM	ip=10.6.92.39	operation=create znode	target=ZooKeeperServer	znode=/kafka/brokers/topics/test/partitions/1	result=failure 
    2018-05-31 09:20:42,453 | ERROR | CommitProcWorkThread-1 | session=0xc3000007015d5a18	user=10.6.92.39,kafka/hadoop.hadoop.com@HADOOP.COM,kafka/hadoop.hadoop.com@HADOOP.COM	ip=10.6.92.39	operation=create znode	target=ZooKeeperServer	znode=/kafka/brokers/topics/test/partitions	result=failure 
  5. 在ZooKeeper各个实例节点上执行id -Gn kafka命令,发现有一个节点无法查询用户组信息。
    [root @bdpsit3ap03 ~]# id -Gn kafka
    id:  kafka: No such user
    [root @bdpsit3ap03 ~]#
  6. MRS集群中的用户管理由LDAP服务管理提供,又依赖于操作系统的sssd(redhat),nscd(suse)服务,用户的建立到同步到sssd服务需要一定时间,如果此时用户没有生效,或者sssd版本存在bug的情况下,某些情况下在ZooKeeper节点会出现用户无效的情况,导致创建Topic异常。

解决办法

  1. 重启sssd/nscd服务。

    • RedHat
      service sssd restart
    • SUSE
      sevice nscd restart

  2. 重启相关服务后,在节点通过id username命令查看相应用户信息是否已有效。
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区