It is possible that you closed the producer before the messages accumulated in batch had been sent out.
You can modify your producer as below to make it a sync call and test again. producer.send(new ProducerRecord<String, String>("test", 0, Integer.toString(i), Integer.toString(i))).get(); On Wed, 20 Jan 2016 at 16:31 BYEONG-GI KIM <bg...@bluedigm.com> wrote: > Sure, I started consumer before starting and sending messages from > producer, and my broker version, if you mean the kafka version, is 0.9.0. > > Best regards > > Kim > > 2016-01-20 17:28 GMT+09:00 Steve Tian <steve.cs.t...@gmail.com>: > > > Did you start your consumer before sending message? Broker version? > > > > Cheers, Steve > > > > On Wed, Jan 20, 2016, 3:57 PM BYEONG-GI KIM <bg...@bluedigm.com> wrote: > > > > > Hello. > > > > > > I set up the Kafka testbed environment on my VirtualBox, which simply > > has a > > > Kafka broker. > > > > > > I tested the simple consumer & producer scripts, aka > > > kafka-console-consumer.sh and bin/kafka-console-producer.sh > respectively, > > > and both of them worked fine. I could see the output from the consumer > > side > > > whenever typing any words on the producer. > > > > > > After that, I moved to test a simple java kafka producer/consumer. I > > copied > > > and pasted the example source code for producer from > > > > > > > > > http://kafka.apache.org/090/javadoc/index.html?org/apache/kafka/clients/producer/KafkaProducer.html > > > , > > > and yeah, unfortunately, it seems not working well; no output was > printed > > > by the above consumer script. There was even no error log on Eclipse. > > > > > > I really don't know what the problem is... I think that the properties > > for > > > both zookeeper and kafka seems fine, since the example scripts worked > > well, > > > at least. > > > > > > I attached my tested source code: > > > ====================================================================== > > > import java.util.Properties; > > > > > > import org.apache.kafka.clients.producer.KafkaProducer; > > > import org.apache.kafka.clients.producer.Producer; > > > import org.apache.kafka.clients.producer.ProducerRecord; > > > import org.apache.kafka.common.KafkaException; > > > import org.apache.kafka.common.errors.TimeoutException; > > > > > > public class ProducerExample { > > > public static void main(String[] args) throws Exception, > > TimeoutException, > > > KafkaException { > > > Properties props = new Properties(); > > > props.put("bootstrap.servers", "10.10.0.40: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<String, > > > String>(props); > > > > > > try { > > > for (int i = 0; i < 10; i++) { > > > producer.send(new ProducerRecord<String, String>("test", 0, > > > Integer.toString(i), Integer.toString(i))); > > > } > > > } catch (TimeoutException te) { > > > System.out.println(te.getStackTrace()); > > > te.getStackTrace(); > > > } catch (Exception ke) { > > > System.out.println(ke.getStackTrace()); > > > ke.getStackTrace(); > > > } > > > > > > producer.close(); > > > } > > > } > > > ====================================================================== > > > > > > Any advice would really be helpful. Thanks in advance. > > > > > > Best regards > > > > > > Kim > > > > > > > > > -- > (주)비디 클라우드사업부 와이즈본부 클라우드기술팀 선임 >