ฉันส่งข้อความสตริงไปยัง Kafka V. 0.8 ด้วย Java Producer API หากขนาดข้อความประมาณ 15 MB ฉันจะได้รับไฟล์MessageSizeTooLargeException
. ฉันพยายามตั้งค่าmessage.max.bytes
เป็น 40 MB แต่ฉันยังคงได้รับข้อยกเว้น ข้อความขนาดเล็กทำงานได้โดยไม่มีปัญหา
(ข้อยกเว้นปรากฏในผู้ผลิตฉันไม่มีผู้บริโภคในแอปพลิเคชันนี้)
ฉันจะทำอย่างไรเพื่อกำจัดข้อยกเว้นนี้
config ผู้ผลิตตัวอย่างของฉัน
private ProducerConfig kafkaConfig() {
Properties props = new Properties();
props.put("metadata.broker.list", BROKERS);
props.put("serializer.class", "kafka.serializer.StringEncoder");
props.put("request.required.acks", "1");
props.put("message.max.bytes", "" + 1024 * 1024 * 40);
return new ProducerConfig(props);
}
บันทึกข้อผิดพลาด:
4709 [main] WARN kafka.producer.async.DefaultEventHandler - Produce request with correlation id 214 failed due to [datasift,0]: kafka.common.MessageSizeTooLargeException
4869 [main] WARN kafka.producer.async.DefaultEventHandler - Produce request with correlation id 217 failed due to [datasift,0]: kafka.common.MessageSizeTooLargeException
5035 [main] WARN kafka.producer.async.DefaultEventHandler - Produce request with correlation id 220 failed due to [datasift,0]: kafka.common.MessageSizeTooLargeException
5198 [main] WARN kafka.producer.async.DefaultEventHandler - Produce request with correlation id 223 failed due to [datasift,0]: kafka.common.MessageSizeTooLargeException
5305 [main] ERROR kafka.producer.async.DefaultEventHandler - Failed to send requests for topics datasift with correlation ids in [213,224]
kafka.common.FailedToSendMessageException: Failed to send messages after 3 tries.
at kafka.producer.async.DefaultEventHandler.handle(Unknown Source)
at kafka.producer.Producer.send(Unknown Source)
at kafka.javaapi.producer.Producer.send(Unknown Source)