Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 尝试连接AWS EC2中的卡夫卡时连接被拒绝_Java_Eclipse_Amazon Web Services_Amazon Ec2_Apache Kafka - Fatal编程技术网

Java 尝试连接AWS EC2中的卡夫卡时连接被拒绝

Java 尝试连接AWS EC2中的卡夫卡时连接被拒绝,java,eclipse,amazon-web-services,amazon-ec2,apache-kafka,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 pr

我有一个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配置文件。我不知道是什么原因导致了这个错误,还是配置中的其他原因。我已尝试在
server.properties
中将
hostname
更改为我的公共IP地址,并在
producer.properties
中将
broker.list
更改为公共IP地址


我使用的是卡夫卡0.7.2版本。

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

是什么让您得出连接不起作用的结论?什么是服务服务器端口?您是否尝试将telnet连接到该端口以确保它已打开?您是否将EC2安全组设置为允许从该特定端口进行连接。我收到一个错误,其中显示连接被拒绝。默认的kafka端口(9092)是打开的(使用了
netstat-tlnp
),我可以看到该端口正在侦听,并且在安全组中我打开了该端口。java.net.ConnectException:Connection拒绝,表示几件事:服务未启动;未配置secgrp;服务拒绝连接等。重要的是使用netcat获取确切的消息,在API之前修复连接。我遇到了类似的问题,连接到ec2中的kafka。您是如何通过证书进行连接的?我不确定哪里出了问题,因为客户端只是坐在那里试图建立连接,只是在没有任何feedbacj的情况下重试直到超时