Apache kafka 为什么可以';不能正确使用消费者与卡夫卡?
有3台卡夫卡服务器 在所有3台服务器上设置Apache kafka 为什么可以';不能正确使用消费者与卡夫卡?,apache-kafka,Apache Kafka,有3台卡夫卡服务器 在所有3台服务器上设置/etc/hosts 192.168.0.1 kafka1 192.168.0.2 kafka2 192.168.0.3 kafka3 在所有配置中都安装了zookeeper和kafka /usr/local/kafka_2.12-2.6.0/config/server.properties 卡夫卡1 卡夫卡2 卡夫卡3 启动zookeeper和kafka后,创建一个新主题 [kafka@kafka1 ~]$ bin/kafka-topics.s
/etc/hosts
192.168.0.1 kafka1
192.168.0.2 kafka2
192.168.0.3 kafka3
在所有配置中都安装了zookeeper和kafka
/usr/local/kafka_2.12-2.6.0/config/server.properties
卡夫卡1
卡夫卡2
卡夫卡3
启动zookeeper和kafka后,创建一个新主题
[kafka@kafka1 ~]$ bin/kafka-topics.sh --create --zookeeper kafka1:2181,kafka2:2181,kafka3:2181 --replication-factor 1 --partitions 6 --topic topic1 --config cleanup.policy=delete --config delete.retention.ms=60000
检查所有三个节点上的群集状态
卡夫卡1
卡夫卡2
卡夫卡3
但是在测试集群时,在kafka1上创建了一个生产者
[kafka@kafka1 ~]$ bin/kafka-console-producer.sh --broker-list kafka1:9092 --topic topic1
>
在任何其他节点(包括)当前kafka1节点上,运行consumer
bin/kafka-console-consumer.sh --bootstrap-server kafka1:9092 --topic topic1
得到了相同的错误:
# kafka1
[2020-08-21 02:09:57,299] WARN [Consumer clientId=consumer-console-consumer-39789-1, groupId=console-consumer-39789] Connection to node 2147483645 (kafka2/192.168.0.2:9092) could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)
# kafka2
[2020-08-21 03:05:00,573] WARN [Consumer clientId=consumer-console-consumer-71891-1, groupId=console-consumer-71891] Connection to node -1 (kafka1/192.168.0.1:9092) could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)
# kafka3
[2020-08-21 03:05:14,331] WARN [Consumer clientId=consumer-console-consumer-55574-1, groupId=console-consumer-55574] Connection to node -1 (kafka1/192.168.0.1:9092) could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)
在/usr/local/kafka_2.12-2.6.0/config/server.properties
中,我还尝试设置为
listeners=PLAINTEXT://localhost:9092
advertised.listeners=PLAINTEXT://localhost:9092
在所有3个节点上。但是同样的问题。监听器应该表示生产者和消费者可以访问的节点FQDN和端口。
当制作人/消费者连接到卡夫卡时,如您的帖子中所示:
bin/kafka-console-consumer.sh --bootstrap-server kafka1:9092 --topic topic1
它打开到kafka1:9092的连接,然后从Kafka获得集群的映射,其中包含所有代理、它们的rfqdn、端口以及每个代理所属的主题分区
您成功地创建了主题,这是使用zookeeper完成的,而且很有效
根据您的警告日志,“broker1,2,3”解析为192.168.0.1/2/3,因此IP解析正常
尝试检查端口9092上的网络连接:
从broker1运行:“telnet broker2 9092”
或运行producer命令访问远程代理,即:
[kafka@**kafka1** ~]$ bin/kafka-console-producer.sh --broker-list **kafka2**:9092 --topic topic1
这将告诉您是否能够在端口9092上从broker1连接到broker2。尝试
listeners=PLAINTEXT://0.0.0.0:9092
@haoyuwang相同。播发的侦听器应为FQDN。
[kafka@kafka1 ~]$ bin/kafka-console-producer.sh --broker-list kafka1:9092 --topic topic1
>
bin/kafka-console-consumer.sh --bootstrap-server kafka1:9092 --topic topic1
# kafka1
[2020-08-21 02:09:57,299] WARN [Consumer clientId=consumer-console-consumer-39789-1, groupId=console-consumer-39789] Connection to node 2147483645 (kafka2/192.168.0.2:9092) could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)
# kafka2
[2020-08-21 03:05:00,573] WARN [Consumer clientId=consumer-console-consumer-71891-1, groupId=console-consumer-71891] Connection to node -1 (kafka1/192.168.0.1:9092) could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)
# kafka3
[2020-08-21 03:05:14,331] WARN [Consumer clientId=consumer-console-consumer-55574-1, groupId=console-consumer-55574] Connection to node -1 (kafka1/192.168.0.1:9092) could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)
listeners=PLAINTEXT://localhost:9092
advertised.listeners=PLAINTEXT://localhost:9092
bin/kafka-console-consumer.sh --bootstrap-server kafka1:9092 --topic topic1
[kafka@**kafka1** ~]$ bin/kafka-console-producer.sh --broker-list **kafka2**:9092 --topic topic1