尝试连接到AWS EC2中的Kafka时连接被拒绝

时间:2016-04-22 12:55:30

标签: java eclipse amazon-web-services amazon-ec2 apache-kafka

我有一个AWS EC2 ubuntu实例,它运行着zookeeper和kafka。我想从我的计算机连接到kafka所以我有一个Java应用程序,我使用kafka api进行连接。当我运行应用程序(来自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更改为server.properties中的公开IP地址,并将broker.list中的producer.properties更改为{{1}}。

我使用的是kafka 0.7.2版本。

1 个答案:

答案 0 :(得分:0)

它已经解决了。我的代码中有一行试图连接到localhost而不是实例公共IP。