여기가 제 코드입니다. 나는 주제를 만들 수 있지만 어떤 이유로 인해 주제 안에 데이터를 보낼 수 없습니다. 오랜 시간이 지나면 이러한 오류가 발생합니다. 나는이에 대한이 server.log 파일입니다 카프카 버전 2.11-0.8.2.1카프카 제작자가 서버에 데이터를 보낼 수 없습니다.
[email protected]74c6c
[email protected]6995df
을 사용하고 카프카
다음[2016-12-27 21:05:54,873] ERROR Closing socket for /127.0.0.1 because of error (kafka.network.Processor)
java.io.IOException: An established connection was aborted by the software in your host machine
at sun.nio.ch.SocketDispatcher.read0(Native Method)
at sun.nio.ch.SocketDispatcher.read(Unknown Source)
at sun.nio.ch.IOUtil.readIntoNativeBuffer(Unknown Source)
at sun.nio.ch.IOUtil.read(Unknown Source)
at sun.nio.ch.SocketChannelImpl.read(Unknown Source)
at kafka.utils.Utils$.read(Utils.scala:380)
at kafka.network.BoundedByteBufferReceive.readFrom(BoundedByteBufferReceive.scala:54)
at kafka.network.Processor.read(SocketServer.scala:444)
at kafka.network.Processor.run(SocketServer.scala:340)
at java.lang.Thread.run(Unknown Source)
[2016-12-27 21:07:54,727] INFO Closing socket connection to /127.0.0.1. (kafka.network.Processor)
[2016-12-27 21:16:08,559] INFO Closing socket connection to /127.0.0.1. (kafka.network.Processor)
카프카 시스템으로 정수 번호를 보내 내 자바 코드는 다음과 같습니다
여기Properties props = new Properties();
props.put("bootstrap.servers", "localhost: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");
props.put("timeout.ms", "50");
Producer<String, String> producer = new KafkaProducer<>(props);
for(int i = 0; i < 2; i++)
System.out.println(producer.send(new ProducerRecord<String, String>("testtopic", Integer.toString(i),
Integer.toString(i))).toString());
producer.close();
은 pom.xml 파일입니다
<dependencies>
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>0.10.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.11</artifactId>
<version>0.8.2.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.6.4</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
<exclusions>
<exclusion>
<groupId>javax.jms</groupId>
<artifactId>jms</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
시도는()에서 System.out.println없이 데이터를 전송하는; 무슨 일이 있었는지 알려주시겠습니까? – user4342532