首页 > 解决方案 > 频繁的 KilledWorker:pandas_read_text-read-block-from-delayed

问题描述

我在 kubernetes 上使用 dask docker 映像进行了标准集群设置,但不使用 dask helm 图表。我尝试在集群上运行现有脚本,但似乎没有运行。它不断抛出错误。

集群详细信息:1 个笔记本、1 个调度程序、1 个工作人员和 1 个共享卷。我阅读了 KilledWorkers 上的一些线程,所以我查看了日志但无法弄清楚。

Distributed.worker - 错误 - 无 Traceback(最近一次调用最后):文件“/opt/conda/lib/python3.7/site-packages/distributed/worker.py”,第 814 行,在 handle_scheduler 通信中,every_cycle=[self .ensure_communicating, self.ensure_computing] 文件“/opt/conda/lib/python3.7/site-packages/tornado/gen.py”,第 735 行,运行值 = future.result() 文件“/opt/conda/ lib/python3.7/site-packages/tornado/gen.py”,第 748 行,运行中产生 = self.gen.send(value) 文件“/opt/conda/lib/python3.7/site-packages/distributed /core.py”,第 457 行,在 handle_stream msgs = yield comm.read() 文件“/opt/conda/lib/python3.7/site-packages/tornado/gen.py”,第 735 行,运行值 = future.result() File "/opt/conda/lib/python3.7/site-packages/tornado/gen.py", line 742, in run yielded = self.gen.throw(*exc_info) # type:忽略文件“/opt/conda/lib/python3.7/site-packages/distributed/comm/tcp.py”,第 218 行,在读取帧中,deserialize=self.deserialize,deserializers=deserializers 文件“/opt/conda/ lib/python3.7/site-packages/tornado/gen.py”,第 735 行,在运行值 = future.result() 文件“/opt/conda/lib/python3.7/site-packages/tornado/gen. py”,第 209 行,在包装器中 yielded = next(result) 文件“/opt/conda/lib/python3.7/site-packages/distributed/comm/utils.py”,第 85 行,在 from_frames res = _from_frames()文件“/opt/conda/lib/python3.7/site-packages/distributed/comm/utils.py”,第 71 行,在 _from_frames 帧中,deserialize=deserialize,deserializers=deserializers 文件“/opt/conda/lib/python3 .7/site-packages/distributed/protocol/core.py",第 126 行,加载值 = _deserialize(head, fs,deserializers=deserializers)文件“/opt/conda/lib/python3.7/site-packages/distributed/protocol/serialize.py”,第 189 行,在反序列化转储、加载、wants_context = family[name] KeyError:无

标签: daskdask-delayed

解决方案


我遇到了同样的问题并找到了解决方案。

在 Dask 2.3 中,分布式序列化发生了一些变化。您的客户端可能高于 2.3.0,而调度程序和工作人员则不是。尝试升级您的集群,以便所有内容都高于 2.3.0 或低于该版本。


推荐阅读