Cloudera Kafka命令行与boostrap-server无法正常工作

时间:2017-12-06 17:39:40

标签: apache-kafka cloudera-manager

查看说明 - 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有关。

1 个答案:

答案 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服务器。有了这个,我有一个混合配置代理群集:

  • 我的笔记本电脑中的经纪人
  • cloudera集群中的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

  • 下载的Kafka版本:kafka_2.11-1.0.0.tgz
  • Cloudera的卡夫卡版本:3.0.0-1.3.0.0.p0.40