我正在使用 Zookeeper 和 kafka (0.8.2.1) 运行 Python2.7。我正在使用最新的 Kafka-python 客户端(pip install kafka)。
以下是一个最小可重现的示例:
from kafka import KafkaConsumer
BOOTSTRAP_SERVER = 'myserver.com:my_port'
consumer = KafkaConsumer('my-topic', bootstrap_servers=BOOTSTRAP_SERVER)
print 'about to print messages'
for msg in consumer:
print msg
这将打印“即将打印消息”,然后整个 VM(Ubuntu Xenial,16.04 LTS)冻结。我什至看不到 VM 内的光标。
有趣的是,我在我的另一台计算机(不是虚拟机)上运行完全相同的 Ubuntu 映像并且它可以工作。虚拟机在 ESXi 6.5 上运行。
这个答案PyCharm freeze whole computer on Ubuntu说这可能是 openjdk 的错(我不使用 pycharm;我从终端执行代码),所以我切换到 Oraclejdk。没有解决问题。我已经尝试了所有我能想到的东西,但我已经束手无策了(ubuntu trusty 正在下载,我将尝试在该映像上运行它,看看它是否适用于 VM)。任何指针/帮助表示赞赏。谢谢!
更新:如果您在 Ubuntu Xenial (16.04) 或更新版本上也遇到此问题,请尝试使用 Trusty (14.04) 映像。似乎已经为我解决了这个问题,但可能还为时过早。
更新 2我错了。还是不行。似乎是内核中的一个错误。