2015-08-26 175 views
2

对于一些较大的消息我遇到了以下错误:卡夫卡kafka.common.MessageSizeTooLargeException在消费者

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

但是然后消息通过但c onsumer出错误:

[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

任何指针?

回答

4

您不应该将fetch.message.max.bytes设置为config/server.properties,而是设置为您的ConsumerConfig(详情请参阅here)。如果您使用控制台使用者,则可能会传递一个--consumer.config consumer.properties标志,其中consumer.properties文件将包含此配置值。

+0

我怎样才能让Storm喷口遵守更高的读取大小。任何想法? @serejja –

+0

@KedarParikh不知道,从来没有使用风暴,深之前 – serejja

+0

SpoutConfig.fetchSizeBytes似乎是选项 –