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.
>