Java can';无法连接到kafka服务器

Java can';无法连接到kafka服务器,java,client,apache-kafka,Java,Client,Apache Kafka,我尝试在版本为0.9.0、端口为9092的情况下使用Kafka。 如果我使用telnet,我成功连接到此地址, 但我无法使用JavaAPI连接到Kafka服务器 下面是我的Java示例,使用官方提供的文档: Properties props = new Properties(); props.put("bootstrap.servers", "192.168.174.128:9092"); props.put("acks", "all"); props.put("retries", 0); pr

我尝试在版本为0.9.0、端口为9092的情况下使用Kafka。 如果我使用telnet,我成功连接到此地址, 但我无法使用JavaAPI连接到Kafka服务器

下面是我的Java示例,使用官方提供的文档:

Properties props = new Properties();
props.put("bootstrap.servers", "192.168.174.128:9092");
props.put("acks", "all");
props.put("retries", 0);
props.put("batch.size", 16384);
props.put("linger.ms", 1);
props.put("buffer.memory", 33554432);
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 = 1; i < 10; i++) {
  producer.send(new ProducerRecord<String, String>("test", Integer.toString(i), Integer.toString(i)));

}

producer.close();

我有这个问题。要解决此问题,您应该在server.properties文件中取消对以下配置的注释,并用zookeeper的IP填充它

播发的.host.name=zookeeper IP

正如卡夫卡文件所说,这个配置是

要发布到ZooKeeper以供客户端使用的主机名


因为在新卡夫卡消费者(0.9)中,消费者向经纪人询问zookeeper IP。

这发生在我身上,是因为另一个问题:

0.10.1.0JavaAPI似乎与0.10.0.1服务器不兼容


我希望这可以解决其他人的问题。

当我替换我自己的kafka代理的IP地址时,您的Java代码对我来说运行良好,因此这似乎是一个网络问题。您是否在可以成功使用telnet的同一台机器上运行Java代码?当你说你可以成功使用“卡夫卡客户端”时,你是说kafka-console-producer.sh脚本吗?是的,我的kafka-console-producer.sh和kafka服务器在同一个虚拟机中,但我的java代码不在这段代码中运行良好,因为你的意思是这是网络问题,但我成功地与kafka servier telnet在0.10.1.0代理和0.10.1.0 API中遇到了同样的问题,你运气好吗?我目前正在使用0.10.0.1堆栈,但如果你想更新它,我会回复。我希望能看到这个话题的其他人能帮助你。
2016-01-03 09:44:38.049 [kafka-producer-network-thread | producer-1] DEBUG [] [] Selector - Connection with localhost/127.0.0.1 disconnected
java.net.ConnectException: Connection refused: no further information
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:1.7.0_51]
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:739) ~[na:1.7.0_51]
    at org.apache.kafka.common.network.PlaintextTransportLayer.finishConnect(PlaintextTransportLayer.java:54) ~[kafka-clients-0.9.0.0.jar:na]
    at org.apache.kafka.common.network.KafkaChannel.finishConnect(KafkaChannel.java:79) ~[kafka-clients-0.9.0.0.jar:na]
    at org.apache.kafka.common.network.Selector.poll(Selector.java:274) ~[kafka-clients-0.9.0.0.jar:na]
    at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:270) [kafka-clients-0.9.0.0.jar:na]
    at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:216) [kafka-clients-0.9.0.0.jar:na]
    at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:141) [kafka-clients-0.9.0.0.jar:na]
    at java.lang.Thread.run(Thread.java:744) [na:1.7.0_51]
2016-01-03 09:44:38.049 [kafka-producer-network-thread | producer-1] DEBUG [] [] NetworkClient - Node 0 disconnected.
2016-01-03 09:44:38.078 [kafka-producer-network-thread | producer-1] DEBUG [] [] NetworkClient - No node found. Trying previously-seen node with ID 0
2016-01-03 09:44:38.078 [kafka-producer-network-thread | producer-1] DEBUG [] [] NetworkClient - Give up sending metadata request since no node is available
2016-01-03 09:44:38.099 [kafka-producer-network-thread | producer-1] DEBUG [] [] NetworkClient - Initiating connection to node 0 at localhost:9092.
2016-01-03 09:44:38.681 [kafka-producer-network-thread | producer-1] DEBUG [] [] Metrics - Removed sensor with name connections-closed:client-id-producer-1
2016-01-03 09:44:38.681 [kafka-producer-network-thread | producer-1] DEBUG [] [] Metrics - Removed sensor with name connections-created:client-id-producer-1
2016-01-03 09:44:38.681 [kafka-producer-network-thread | producer-1] DEBUG [] [] Metrics - Removed sensor with name bytes-sent-received:client-id-producer-1
2016-01-03 09:44:38.681 [kafka-producer-network-thread | producer-1] DEBUG [] [] Metrics - Removed sensor with name bytes-received:client-id-producer-1
2016-01-03 09:44:38.682 [kafka-producer-network-thread | producer-1] DEBUG [] [] Metrics - Removed sensor with name bytes-sent:client-id-producer-1
2016-01-03 09:44:38.682 [kafka-producer-network-thread | producer-1] DEBUG [] [] Metrics - Removed sensor with name select-time:client-id-producer-1
2016-01-03 09:44:38.682 [kafka-producer-network-thread | producer-1] DEBUG [] [] Metrics - Removed sensor with name io-time:client-id-producer-1
2016-01-03 09:44:38.682 [kafka-producer-network-thread | producer-1] DEBUG [] [] Metrics - Removed sensor with name node--1.bytes-sent
2016-01-03 09:44:38.683 [kafka-producer-network-thread | producer-1] DEBUG [] [] Metrics - Removed sensor with name node--1.bytes-received
2016-01-03 09:44:38.683 [kafka-producer-network-thread | producer-1] DEBUG [] [] Metrics - Removed sensor with name node--1.latency
2016-01-03 09:44:38.683 [kafka-producer-network-thread | producer-1] DEBUG [] [] Metrics - Removed sensor with name node-0.bytes-sent
2016-01-03 09:44:38.683 [kafka-producer-network-thread | producer-1] DEBUG [] [] Metrics - Removed sensor with name node-0.bytes-received
2016-01-03 09:44:38.683 [kafka-producer-network-thread | producer-1] DEBUG [] [] Metrics - Removed sensor with name node-0.latency
2016-01-03 09:44:38.683 [kafka-producer-network-thread | producer-1] DEBUG [] [] Sender - Shutdown of Kafka producer I/O thread has completed.
2016-01-03 09:44:38.683 [main] DEBUG [] [] KafkaProducer - The Kafka producer has closed.