You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@kafka.apache.org by Bhargav Maddikera <Bh...@altimetrik.com> on 2016/02/08 13:06:25 UTC

Caused by: org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 60000 ms.

Hi,

I try executing the code

       Properties props = new Properties();

               props.put("bootstrap.servers", "localhost:2181");
              props.put("metadata.broker.list","localhost:9092");
              props.put("request.required.acks", "1");
              props.put("retries", 4);
//            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);
              int maxMessages = 1000;

                  int count = 0;
                  while(count < maxMessages) {
                    producer.send(new ProducerRecord<String, String>("test",  "message --- #"+count++)).get();
                    System.out.println("Message send.."+count);
                  }
                  producer.close();



but I get Caused by: org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 60000 ms.


But when I  do,

//                Properties properties = new Properties();
//             properties.put("metadata.broker.list","localhost:9092");
//             properties.put("serializer.class","kafka.serializer.StringEncoder");
//             properties.put("partitioner.class", "SimplePartitioner");
//             properties.put("request.required.acks", "1");
//             ProducerConfig producerConfig = new ProducerConfig(properties);
//             kafka.javaapi.producer.Producer<String,String> producer = new kafka.javaapi.producer.Producer<String, String>(producerConfig);
//             SimpleDateFormat sdf = new SimpleDateFormat();
//             KeyedMessage message =new KeyedMessage("test","1","After Restart210");
//             System.out.println(message.key());
//             producer.send(message);
//             producer.close();
//             System.out.println("done");

It works fine.

Regards.
Bhargav.

Re: Caused by: org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 60000 ms.

Posted by Jun Rao <ju...@confluent.io>.
It seems that you put in the wrong port in the following statement. Kafka's
default port is 9092. 2181 is for Zookeeper.
   props.put("bootstrap.servers", "localhost:2181");

Thanks,

Jun

On Mon, Feb 8, 2016 at 4:06 AM, Bhargav Maddikera <
Bhargav.Maddikera@altimetrik.com> wrote:

> Hi,
>
> I try executing the code
>
>        Properties props = new Properties();
>
>                props.put("bootstrap.servers", "localhost:2181");
>               props.put("metadata.broker.list","localhost:9092");
>               props.put("request.required.acks", "1");
>               props.put("retries", 4);
> //            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);
>               int maxMessages = 1000;
>
>                   int count = 0;
>                   while(count < maxMessages) {
>                     producer.send(new ProducerRecord<String,
> String>("test",  "message --- #"+count++)).get();
>                     System.out.println("Message send.."+count);
>                   }
>                   producer.close();
>
>
>
> but I get Caused by: org.apache.kafka.common.errors.TimeoutException:
> Failed to update metadata after 60000 ms.
>
>
> But when I  do,
>
> //                Properties properties = new Properties();
> //             properties.put("metadata.broker.list","localhost:9092");
> //
>  properties.put("serializer.class","kafka.serializer.StringEncoder");
> //             properties.put("partitioner.class", "SimplePartitioner");
> //             properties.put("request.required.acks", "1");
> //             ProducerConfig producerConfig = new
> ProducerConfig(properties);
> //             kafka.javaapi.producer.Producer<String,String> producer =
> new kafka.javaapi.producer.Producer<String, String>(producerConfig);
> //             SimpleDateFormat sdf = new SimpleDateFormat();
> //             KeyedMessage message =new KeyedMessage("test","1","After
> Restart210");
> //             System.out.println(message.key());
> //             producer.send(message);
> //             producer.close();
> //             System.out.println("done");
>
> It works fine.
>
> Regards.
> Bhargav.
>