Kafka bootstrap-servers 与 kafka-console-consumer 中的 zookeeper
Kafka bootstrap-servers vs zookeeper in kafka-console-consumer
我正在尝试测试 运行 具有 3 个代理和 zookeeper 的单个 Kafka 节点。我想使用控制台工具进行测试。我 运行 制作人是这样的:
kafka-console-producer --broker-list localhost:9092,localhost:9093,localhost:9094 --topic testTopic
然后我运行这样的消费者:
kafka-console-consumer --zookeeper localhost:2181 --topic testTopic --from-beginning
而且我可以在生产者中输入消息并在消费者中看到它们,正如预期的那样。 但是,当我运行 使用bootstrap-server 的消费者的更新版本时,我什么也得不到。例如
kafka-console-consumer --bootstrap-server localhost:9092,localhost:9093,localhost:9094 --topic testTopic --from-beginning
当我在端口 9092 上有一个代理 运行ning 时,这工作得很好,所以我很困惑。有什么方法可以让我看到 zookeeper 提供了什么作为 bootstrap 服务器? bootstrap 服务器与代理列表不同吗?使用 Scala 2.11 编译的 Kafka。
Bootstrap 服务器与 kafka 代理相同。而如果你想查看zookeeper提供的bootstrap服务器列表,你可以通过任何ZK客户端查询ZNode信息。所有活跃的经纪人都在 /brokers/ids/[brokerId] 下注册。您只需要 zkQuorum 地址。下面的命令会给你
活动 bootstrap 服务器列表:
./zookeeper-shell.sh localhost:2181 <<< "ls /brokers/ids"
我不知道出了什么问题。可能我将 Kafka 或 Zookeeper 置于一种奇怪的状态。在删除每个代理的 log.dir
中的主题和 /brokers/topics
中的动物园管理员主题然后重新创建主题后,Kafka 消费者的行为符合预期。
我在使用不匹配的版本时遇到了同样的问题:
- Kafka 客户端库
- 卡夫卡脚本
- 卡夫卡经纪人
在我的确切场景中,我使用 Confluent Kafka 客户端库版本 0.10.2.1 和 Confluent Platform 3.3.0 w/Kafka broker 0.11.0.0。当我将我的 Confluent Platform 降级到与我的客户端库匹配的 3.3.2 时,消费者按预期工作。
我的理论是,使用新 Consumer API 的最新 kafka-console-consumer 仅使用最新格式检索消息。 Kafka 0.11.0.0 中引入了许多消息格式更改。
我正在尝试测试 运行 具有 3 个代理和 zookeeper 的单个 Kafka 节点。我想使用控制台工具进行测试。我 运行 制作人是这样的:
kafka-console-producer --broker-list localhost:9092,localhost:9093,localhost:9094 --topic testTopic
然后我运行这样的消费者:
kafka-console-consumer --zookeeper localhost:2181 --topic testTopic --from-beginning
而且我可以在生产者中输入消息并在消费者中看到它们,正如预期的那样。 但是,当我运行 使用bootstrap-server 的消费者的更新版本时,我什么也得不到。例如
kafka-console-consumer --bootstrap-server localhost:9092,localhost:9093,localhost:9094 --topic testTopic --from-beginning
当我在端口 9092 上有一个代理 运行ning 时,这工作得很好,所以我很困惑。有什么方法可以让我看到 zookeeper 提供了什么作为 bootstrap 服务器? bootstrap 服务器与代理列表不同吗?使用 Scala 2.11 编译的 Kafka。
Bootstrap 服务器与 kafka 代理相同。而如果你想查看zookeeper提供的bootstrap服务器列表,你可以通过任何ZK客户端查询ZNode信息。所有活跃的经纪人都在 /brokers/ids/[brokerId] 下注册。您只需要 zkQuorum 地址。下面的命令会给你 活动 bootstrap 服务器列表:
./zookeeper-shell.sh localhost:2181 <<< "ls /brokers/ids"
我不知道出了什么问题。可能我将 Kafka 或 Zookeeper 置于一种奇怪的状态。在删除每个代理的 log.dir
中的主题和 /brokers/topics
中的动物园管理员主题然后重新创建主题后,Kafka 消费者的行为符合预期。
我在使用不匹配的版本时遇到了同样的问题:
- Kafka 客户端库
- 卡夫卡脚本
- 卡夫卡经纪人
在我的确切场景中,我使用 Confluent Kafka 客户端库版本 0.10.2.1 和 Confluent Platform 3.3.0 w/Kafka broker 0.11.0.0。当我将我的 Confluent Platform 降级到与我的客户端库匹配的 3.3.2 时,消费者按预期工作。
我的理论是,使用新 Consumer API 的最新 kafka-console-consumer 仅使用最新格式检索消息。 Kafka 0.11.0.0 中引入了许多消息格式更改。