3

这是对这个问题的跟进。我现在正在尝试在 AWS 上的多个 EC2 节点上运行 Dask。

我能够在第一台机器上启动调度程序:

在此处输入图像描述

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

在此处输入图像描述

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

dask_client = Client('10.201.101.108:31001')

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

4

1 回答 1

1

首次连接时看到“事件循环无响应”警告并不少见,具体取决于您的网络。

有些事情要检查

  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()
于 2018-01-04T00:44:23.727 回答