以下是我的Kafka Broker配置
broker.id=1
port=9092
host.name=127.0.0.1
advertised.listeners=PLAINTEXT://127.0.0.1:9092
listeners=PLAINTEXT://127.0.0.1:9092
控制台生产者和消费者工作得很好,但当我尝试通过Java连接时,它抛出了代理不可用错误。但Kafka Broker正在运行,并能够通过控制台生成和消费消息。
Properties props = new Properties();
props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "127.0.0.1:9092");
props.put(ProducerConfig.ACKS_CONFIG, "all");
props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");
KafkaProducer<String, String> producer = new KafkaProducer<String,String>(props);
producer.send(new ProducerRecord<String, String>("Sample","Hey","From java program"));
producer.close();
[kafka-producer-network-thread | producer-1] WARN org.apache.kafka.clients.NetworkClient - [Producer clientId=producer-1] Connection to node -1 (/127.0.0.1:9092) could not be established. Broker may not be available.
[kafka-producer-network-thread | producer-1] WARN org.apache.kafka.clients.NetworkClient - [Producer clientId=producer-1] Bootstrap broker 127.0.0.1:9092 (id: -1 rack: null) disconnected
我正在使用STS IDE编写Java程序,使用JDK 1.8,Kafka 2.8.1 Windows操作系统,使用ubuntu 20.04.4 LTS来执行控制台生产者和消费者。
提前谢谢!
1条答案
按热度按时间kxkpmulp1#
这个回应太晚了,但希望这能帮助一些人。
172.X.X.X是WSL2的IP
有了这个改变,我就能够访问Kafka集群了。
参考资料link