查看说明 - https://www.cloudera.com/documentation/kafka/latest/topics/kafka_command_line.html
我正在运行这些测试命令行,一组正常,但另一组没有。
按照说明操作,但是注意到它有“zookeeper”作为参数,我认为它已经停止了。
制片:
/usr/bin/kafka-console-producer --broker-list local-ip:9092 --topic test
消费者:
/usr/bin/kafka-console-consumer --bootstrap-server local-ip:9092 --topic test --from-beginning
以上版本不适用于Cloudera版本,但适用于我的独立Kafka安装。
这适用于Cloudera:
/usr/bin/kafka-console-consumer --zookeeper local-ip:2181 --topic test --from-beginning
试图了解Cloudera的Kakfa版本(3.0.0-1.3.0.0.p0.40?)和我的(2.11-0.11.0.1)之间的差异,或者必须打开或关闭某些东西。
我看到一些类似的话题,并尝试跟着他们无济于事。我认为这与Cloudera有关。
答案 0 :(得分:2)
更新回答:
在我的情况下,我配置了两个代理,并且offsets.topic.replication.factor
的kafka配置值设置为3.因此,当Kafka尝试构建一个副本比可用代理更多的主题时,一个例外是抛出并且没有创建主题。
解决方案是设置offsets.topic.replication.factor = 2
然后重试。也许您需要再次删除和部署代理。
我不知道为什么,也许是Cloudera卡夫卡发布的错误,但我通过当地的kafka测试解决了这个问题。
我已从https://kafka.apache.org/downloads下载了最新版本的Kafka,并更新了代理配置文件config\server.properties
以使用远程zookeeper服务器。有了这个,我有一个混合配置代理群集:
通过这个配置,我创建了一个主题,并从我的笔记本电脑运行kafka-console-consumer和kafka-console-producer,但是对着远程zookeeper:
$ kafka-topics --create --zookeeper zookeeper.cloudera-cluster:2181 --replication-factor 1 --partitions 1 --topic test
$ kafka-console-consumer --broker-list localhost:9092 --topic test
$ kafka-console-producer --broker-list localhost:9092 --topic test
这很有效。此外,使用此主题__consumer_offsets
已自动创建,现在新的消费者版本完美运行。此时,您可以删除创建的主题并停止本地代理并开始正常使用kafka群集。
这是Cloudera发布的错误吗?
也许Cloudera的版本无法自动构建__consumer_offsets
?