python - kafka-python 引发 kafka.errors.ConsumerFetchSizeTooSmall

标签 python python-2.7 apache-kafka kafka-python

我正在 python 2.7 中编写一个简单的代码,该代码使用来自 apache kafka 主题的消息传递。代码如下:

from kafka import SimpleConsumer,KafkaClient
group = "my_group_test"
client = KafkaClient('localhost:9092')
cons = SimpleConsumer(client, group, "my_topic")
messages = cons.get_messages(count=1000,block=False)

但是引发了这个异常:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/kafka/consumer/simple.py", line 285, in get_messages
    update_offset=False)
  File "/usr/local/lib/python2.7/dist-packages/kafka/consumer/simple.py", line 320, in _get_message
    self._fetch()
  File "/usr/local/lib/python2.7/dist-packages/kafka/consumer/simple.py", line 425, in _fetch
    raise ConsumerFetchSizeTooSmall()
kafka.errors.ConsumerFetchSizeTooSmall 

我如何修改此参数(ConsumerFetchSize)以使此代码正常工作?

最佳答案

我找到了解决办法, 使用参数max_buffer_size在 SimpleConsumer 中。

工作代码是:

#the size is adherent with my need but is totally arbitrary
cons = SimpleConsumer(client, group, "my_topic",max_buffer_size=9932768)

关于python - kafka-python 引发 kafka.errors.ConsumerFetchSizeTooSmall,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37281552/

相关文章:

apache-kafka - KSQL 失败并出现 CharConversionException : Invalid UTF-32 character when reading stream

python - Pandas drop_duplicates 方法不适用于包含列表的数据框

Python 2.7 程序(带搁置字典)为特定的键和值组合返回致命的 "dbrunrecoveryerror",但不是其他

python - sys.maxsize 当前可能的值是多少?

c - 从kafka获取最后写入的消息偏移量

apache-kafka - 卡夫卡消费者列表

python - 可以从左侧截断的 Python 缓冲区?

python - 如何在python中找到距离度量

Python3无法建立连接socket.gai错误: Name or service not known

python-2.7 - 父树 : Expected a node value and child list or a single string or 'ParentedTree' object has no attribute 'label'