Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

kafka java producer stuck in producing message

I am implementing apache kafka producer using java api. Apache Kafka is installed on localhost. Zookeeper is also running but still producer.send() function stuck in sending message and message is not published.

I have already created "fast-messages" topic.

Below is the code.

package com.hsahu.kafka.producer;

import java.util.Properties;
import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.ProducerRecord;

public class KafkaProducerExample {
public static void main(String[] args) {

    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", 0);
    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");

    KafkaProducer<String, String> producer = new KafkaProducer<>(props);

    try {
        producer.send(new ProducerRecord<String, String>("fast-messages", "This is a dummy message"));
    } catch(Exception ex) {
        System.out.println(ex);
    }

    System.out.println("message publisher");

    producer.close();
}

}

What should i do ? is my code wrong or any properties not set correctly or missing ?

like image 230
Himanshu Sahu Avatar asked Aug 28 '16 20:08

Himanshu Sahu


2 Answers

There was't any problem in the code. only api version and kafka server version were mismatched. So i only corrected the api version and now producer is working.

like image 62
Himanshu Sahu Avatar answered Oct 31 '22 13:10

Himanshu Sahu


test below

if version above 0.9 you need config "advertised.host.name" in broker

like image 22
zpc Avatar answered Oct 31 '22 14:10

zpc