对于一些较大的消息,我遇到以下错误:

kafka.common.MessageSizeTooLargeException: Message size is 1185198 bytes which exceeds the maximum configured message size of 1000012.

因此,随着this thread的增加,代理和使用者处的消息大小:
fetch.message.max.bytes=10485760
replica.fetch.max.bytes=10485760
message.max.bytes=10485760

已添加到config/server.properties
但是随后消息通过,但消费者错误出现了:
[2015-08-26 21:08:08,722] ERROR Error processing message, stopping consumer:  (kafka.tools.ConsoleConsumer$)
kafka.common.MessageSizeTooLargeException: Found a message larger than the maximum fetch size of this consumer on topic xyz partition 0 at fetch offset 29. Increase the fetch size, or decrease the maximum message size the broker will allow.
    at kafka.consumer.ConsumerIterator.makeNext(ConsumerIterator.scala:90)
    at kafka.consumer.ConsumerIterator.makeNext(ConsumerIterator.scala:33)
    at kafka.utils.IteratorTemplate.maybeComputeNext(IteratorTemplate.scala:66)
    at kafka.utils.IteratorTemplate.hasNext(IteratorTemplate.scala:58)
    at scala.collection.Iterator$class.foreach(Iterator.scala:660)
    at kafka.utils.IteratorTemplate.foreach(IteratorTemplate.scala:32)
    at scala.collection.IterableLike$class.foreach(IterableLike.scala:73)
    at kafka.consumer.KafkaStream.foreach(KafkaStream.scala:25)
    at kafka.tools.ConsoleConsumer$.main(ConsoleConsumer.scala:166)
    at kafka.tools.ConsoleConsumer.main(ConsoleConsumer.scala)
Consumed 3 messages

似乎消费者没有领取fetch.message.max.bytes=10485760
kafka_2.9.1-0.8.2.1

有指针吗?

最佳答案

您不应该将fetch.message.max.bytes放在config/server.properties上,而应该放在ConsumerConfig上(有关详细信息,请参见here)。如果使用控制台使用者,则可以传递--consumer.config consumer.properties标志,其中consumer.properties文件将包含此配置值。

关于apache-kafka - 消费者处的Kafka kafka.common.MessageSizeTooLargeException,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32231095/

10-10 23:12