我尝试使用版本0.9.0的Kafka和端口9092.如果我使用telnet,我成功连接到此地址,但我无法使用Java API连接到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();
Run Code Online (Sandbox Code Playgroud)
我使用vmware虚拟机来构建我的Kafka服务器和Zookeeper.我的虚拟机IP地址是192.168.174.128.我成功地使用Kafka客户端创建和使用消息.
这里是异常完整堆栈
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) …Run Code Online (Sandbox Code Playgroud)