错误org.apache.kafka.common.errors.InvalidReplicationFactorException

时间:2017-09-14 09:12:51

标签: apache-kafka ambari

我有一个2节点集群,有2个kafka-broker(每个1个)但是当我尝试生成一个复制因子= 2的kafka-topic时:

bin/kafka-topics.sh --create --zookeeper bigdata:2181 --replication-factor 2 --partitions 1 --topic programaCsd

我收到错误:

Error while executing topic command : replication factor: 2 larger than available brokers: 1
[2017-09-14 10:12:43,872] ERROR org.apache.kafka.common.errors.InvalidReplicationFactorException: replication factor: 2 larger than available brokers: 1
 (kafka.admin.TopicCommand$)

在ambari中,我可以看到两个kafka-broker正确安装并正常工作。

有些想法为什么会这样?

感谢。

2 个答案:

答案 0 :(得分:2)

听起来你的kafka经纪人不是作为一个集群一起工作。您可以通过仔细查看您的zookeeper来检查这一点:

使用zookeeper shell: bin/zookeeper-shell.sh bigdata:2181

列出所有经纪人ID: ls /brokers/ids

您应该看到类似“ [1001,1002] ”的内容,具体取决于您在server.properties中设置brookerids的方式(请参阅属性broker.id)。

如果你只有一个身份证,而你的经纪人彼此不认识。

答案 1 :(得分:0)

最后,解决方案是完全删除kafka服务和代理,然后使用所需的配置同时为两个代理添加它们。部署之后,您可以在/kafka-logs/meta.properties中更改每个节点中的代理ID。

在重新安装kafka之前,最好删除系统中的所有主题,这样就不会有无效的领导者或副本。