java项目连接kafka失败

使用代码

使用如下官网代码连接服务器kafka

 Properties props = new Properties();
 props.put("bootstrap.servers", "10.10.69.105:9092");
 props.put("acks", "all");
 props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
 props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");

 Producer<String, String> producer = new KafkaProducer<>(props);
 for (int i = 0; i < 100; i++)
     producer.send(new ProducerRecord<String, String>("my-topic", Integer.toString(i), Integer.toString(i)));

 producer.close();

出现如下报错:

15:32:00.347 [kafka-producer-network-thread | producer-1] DEBUG org.apache.kafka.common.network.Selector - [Producer clientId=producer-1] Connection with localhost/127.0.0.1 disconnected
java.net.ConnectException: Connection refused: no further information
	at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
	at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)
	at org.apache.kafka.common.network.PlaintextTransportLayer.finishConnect(PlaintextTransportLayer.java:50)
	at org.apache.kafka.common.network.KafkaChannel.finishConnect(KafkaChannel.java:219)
	at org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:530)
	at org.apache.kafka.common.network.Selector.poll(Selector.java:485)
	at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:544)
	at org.apache.kafka.clients.producer.internals.Sender.runOnce(Sender.java:325)
	at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:253)
	at java.lang.Thread.run(Thread.java:748)

解决方法:

修改kafka安装目录下的config/server.properties文件,最下方添加下面配置:

host.name=10.10.69.105

注意:

使用官网的方法启动producer时,需要把localhost改成10.10.69.105
使用官网的方法启动consumer时,需要把localhost改成10.10.69.105
如:

bin/kafka-console-consumer.sh --topic quickstart-events --from-beginning --bootstrap-server 10.10.69.105:9092

猜你喜欢

转载自blog.csdn.net/weixin_42099041/article/details/108470197