Dask事件循环没有响应 - 工作未并行化

问题描述 投票:3回答:1

这是这个question的后续行动。我现在正在尝试在AWS上的多个EC2节点上运行Dask。

我可以在第一台机器上启动调度程序:

enter image description here

然后我在其他几台机器上启动工作人员。从其他机器我可以使用nc -zv ${HOST} ${PORT}访问调度程序,而工作者似乎能够连接到主服务器,工作人员的sysout证明:Registered to: tcp://10.201.101.108:31001,但几乎立即工人抱怨超时循环。

enter image description here

从主节点,在我的Jupyter笔记本中,然后我连接到调度程序:

dask_client = Client('10.201.101.108:31001')

但是工作不会传播到工作节点(工作节点CPU保持<1%),甚至传播到与调度程序在同一台机器上运行的工作程序。这是一个高度并行化的任务,当在一台机器上运行时(即,使用Client(processes=False)消耗机器上的每个核心)。

dask dask-distributed
1个回答
0
投票

根据您的网络,在第一次连接时看到“事件循环无响应”警告并不罕见。

有些事要检查

  1. client.get_versions(check=True)
  2. client.scheduler_info()['workers']有什么?如果没有,那么你可能会遇到连接问题
  3. 考虑使用client.get_worker_logs()查看工作日志
  4. 尝试运行像client.submit(lambda x: x + 1, 10).result()这样的简单计算
© www.soinside.com 2019 - 2024. All rights reserved.