1

我正在使用 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我错了。还是不行。似乎是内核中的一个错误。

4

1 回答 1

1

这是一个已知的 ESX 错误。显然,原因是某些英特尔 CPU 中的一些无效操作代码被较新版本的 Ubuntu(Xenial 及更高版本)触发。

我通过使用 Ubuntu 14.04(可信赖)而不是 16.04 解决了这个问题。希望这可以帮助某人。其他对我不起作用的解决方案(以及参考链接)如下:

启动板错误报告(稍微编辑 vmx 文件,对我不起作用) https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1630774

vmware 推荐的解决方法(编辑 grub 文件对我不起作用) https://communities.vmware.com/message/2626830#2626830

于 2017-06-13T23:27:07.440 回答