我有一个本地Apache Kafka设置,并且在端口9092和9093上共有2个代理(id-0和1)。 我创建了一个主题,并使用以下命令发布了消息:
bin/kafka-console.-producer.sh --broker-list localhost:9092 --topic test
然后我使用以下命令在其他终端上消耗了消息:
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test
到目前为止,一切都很好。 但是当我键入命令时-
bin/kafka-console.-producer.sh --broker-list localhost:9093 --topic test
并写一些我在第二个终端中键入此命令的消息-
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test
为什么将9093端口消息发布到9092?
答案 0 :(得分:1)
您的集群包含两个代理。使用哪个主机进行初始连接并不重要。使用kafka客户端时,您无需指定从哪个代理消费或向哪个代理生成消息。这些主机名仅用于发现kafka经纪人(集群)的整个列表
根据文档: https://kafka.apache.org/documentation/#producerconfigs https://kafka.apache.org/documentation/#consumerconfigs
bootstrap.servers ::
用于建立与Kafka群集的初始连接的主机/端口对的列表。客户端将使用所有服务器,而与在此处指定用于引导的服务器无关—该列表仅影响用于发现整套服务器的初始主机。