Apache kafka 尝试在Apache Kafka上创建主题时出错
我正在尝试使用创建卡夫卡主题Apache kafka 尝试在Apache Kafka上创建主题时出错,apache-kafka,Apache Kafka,我正在尝试使用创建卡夫卡主题 $KAFKA_HOME/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic testing 但报告了以下错误: Error while executing topic command : Not all brokers have rack information. Add --disable-rack-aware
$KAFKA_HOME/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic testing
但报告了以下错误:
Error while executing topic command : Not all brokers have rack information. Add --disable-rack-aware in command line to make replica assignment without rack information.
[2018-01-23 15:03:44,471] ERROR kafka.admin.AdminOperationException: Not all brokers have rack information. Add --disable-rack-aware in command line to make replica assignment without rack information.
at kafka.admin.AdminUtils$.getBrokerMetadatas(AdminUtils.scala:443)
at kafka.admin.AdminUtils$.createTopic(AdminUtils.scala:461)
at kafka.admin.TopicCommand$.createTopic(TopicCommand.scala:110)
at kafka.admin.TopicCommand$.main(TopicCommand.scala:63)
at kafka.admin.TopicCommand.main(TopicCommand.scala)
(kafka.admin.TopicCommand$)
两个zookeeper
$KAFKA_HOME/bin/zookeeper-server-start.sh $KAFKA_HOME/config/zookeeper.properties
和kafka服务器
$KAFKA_HOME/bin/kafka-server-start.sh $KAFKA_HOME/config/server.properties
已成功启动
添加<代码>--禁用机架感知将解决此问题,但如何使用机架信息进行副本分配 我想不是所有的代理都有机架配置。为密钥
broker.rack
Grep您的server.properties。如果这只出现在部分而不是所有服务器配置中,这就是问题的原因
在这里,您可以找到有关卡夫卡机架感知的更多详细信息:当您使用
broker.rack
配置一些代理,而不使用broker.rack
配置其他代理时,当您在集群上创建manuel主题(自动主题创建忽略机架信息)时,将生成错误(正是您得到的)
要解决此问题,请执行以下操作:
选项1:在所有代理上放置属性broker.rack=null
选项2:编辑所有缺少代理的代理上的属性broker.rack
,该属性将显示机架的id
选项3:将属性<代码>--禁用机架感知添加到卡夫卡主题命令中
有关机架感知的更多详细信息,请参阅