我正在 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/