在aws ec2中尝试连接到kafka时,java连接被拒绝

axkjgtzd  于 2021-06-07  发布在  Kafka
关注(0)|答案(1)|浏览(575)

我有一个aws ec2 ubuntu示例,它运行zookeeper和kafka。我想连接到Kafka从我的电脑,所以我有一个java应用程序,我做连接使用Kafkaapi。当我运行应用程序(从eclipse)时,出现以下错误:

log4j:WARN No appenders could be found for logger (kafka.consumer.SimpleConsumer).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "Timer-0" java.net.ConnectException: Connection refused
at sun.nio.ch.Net.connect0(Native Method)
at sun.nio.ch.Net.connect(Net.java:484)
at sun.nio.ch.Net.connect(Net.java:476)
at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:675)
at kafka.consumer.SimpleConsumer.connect(SimpleConsumer.scala:49)
at kafka.consumer.SimpleConsumer.getOrMakeConnection(SimpleConsumer.scala:186)
at kafka.consumer.SimpleConsumer.fetch(SimpleConsumer.scala:79)
at kafka.javaapi.consumer.SimpleConsumer.fetch(SimpleConsumer.scala:43)

似乎这行代码抛出了一个错误:

FetchRequest req = new FetchRequest("test", 0, offset, 1000);
ByteBufferMessageSet messageSet = simpleConsumer.fetch(req);

在控制台中还显示了一些关于log4j的信息。我有 log4j.properties 示例中的文件,以及其他kafka配置文件。我不知道是什么原因导致了这个错误,还是配置中的其他原因。我试着改变 hostname 到我的公共ip地址 server.properties 对我来说也是一样 broker.listproducer.properties .
我用的是Kafka0.7.2版本。

oyt4ldly

oyt4ldly1#

解决了。我的代码中有一行代码试图连接到localhost而不是示例public ip。

相关问题