val props = new Properties()
props.put("bootstrap.servers", "foo:9092,bar:9092")
props.put("acks", "all")
props.put("retries", 1)
props.put("batch.size", 10000)
props.put("linger.ms", 5)
props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer")
props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer")
try {
producer.send(new ProducerRecord[String, String](topic, key, msg.toJson)).get()
true
} catch {
case ex: Throwable => {
println(ex)
false
}
}
此代碼拋出一個異常失敗後48毫秒
java.util.concurrent.ExecutionException: org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 48 ms.\n\tat
org.apache.kafka.clients.producer.KafkaProducer$FutureFailure.<init>(KafkaProducer.java:686)\n\tat
org.apache.kafka.clients.producer.KafkaProducer.send(KafkaProducer.java:449)\n\tat
org.apache.kafka.clients.producer.KafkaProducer.send(KafkaProducer.java:339)\
注意,我張貼對生產集羣數據,因此它的啓動和運行,很多應用已經成功地發佈消息到主題更新元數據。它只是我的代碼沒有發佈。
我注意到max.block.ms被設置爲48 ms,這是一個非常低的值。爲什麼你設置這樣的值來檢索元數據? – amethystic
@amethystic這不是在給定的配置中,你從哪裏得到的? – annedroiid
從「48ms後無法更新元數據」。 – amethystic