Dask 教程因 distributed.nanny 而失败 - 警告 - 重新启动 worker

问题描述 投票:0回答:2

对 Dask 提供的可能性感兴趣,我从 dask 教程开始,并按照教程中的说明准备我的笔记本电脑:克隆 repo 并使用以下内容制作新的 conda env:

conda env create -f binder/environment.yml
conda activate dask-tutorial

一切顺利,安装包。然后我启动 jupyter 实验室并打开第一个工作簿:

import dask.dataframe as dd
from dask.distributed import Client

client = Client()

输出几乎无限打印“distributed.nanny - 警告 - 重新启动工作人员”,一些错误随后出现更多错误(见下文)。我花了最后几个小时试图找出我遇到这个问题的原因,但我没有找到。 尝试使用 LocalCluster(),但没有用。尝试将内存限制为 1GB,同样的问题。 尝试更新软件包,重新启动笔记本电脑,仍然没有。

注意,如果这有用:我在 Windows 上,我使用 conda,这是我没有管理员权限的公司笔记本电脑。

有人知道我为什么有这个问题吗?

谢谢!
埃梅克

P.S:在过多的“分布式保姆 - 警告 - 重启工人”中,我也得到了一些:

2023-02-10 16:04:36,283 - distributed.nanny - WARNING - Restarting worker
2023-02-10 16:04:36,408 - distributed.nanny - WARNING - Restarting worker
2023-02-10 16:04:36,425 - distributed.nanny - WARNING - Restarting worker

Traceback (most recent call last):
  File "C:\Users\xxx\Anaconda3\envs\dask-tutorial\lib\site-packages\distributed\nanny.py", line 853, in _wait_until_connected
    msg = self.init_result_q.get_nowait()
  File "C:\Users\xxx\Anaconda3\envs\dask-tutorial\lib\multiprocessing\queues.py", line 135, in get_nowait
    return self.get(False)
  File "C:\Users\xxx\Anaconda3\envs\dask-tutorial\lib\multiprocessing\queues.py", line 116, in get
    raise Empty
_queue.Empty

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\xxx\Anaconda3\envs\dask-tutorial\lib\site-packages\distributed\utils.py", line 741, in wrapper
    return await func(*args, **kwargs)
  File "C:\Users\xxx\Anaconda3\envs\dask-tutorial\lib\site-packages\distributed\nanny.py", line 545, in _on_worker_exit
    await self.instantiate()
  File "C:\Users\xxx\Anaconda3\envs\dask-tutorial\lib\site-packages\distributed\nanny.py", line 442, in instantiate
    result = await self.process.start()
  File "C:\Users\xxx\Anaconda3\envs\dask-tutorial\lib\site-packages\distributed\nanny.py", line 714, in start
    msg = await self._wait_until_connected(uid)
  File "C:\Users\xxx\Anaconda3\envs\dask-tutorial\lib\site-packages\distributed\nanny.py", line 855, in _wait_until_connected
    await asyncio.sleep(self._init_msg_interval)
  File "C:\Users\xxx\Anaconda3\envs\dask-tutorial\lib\asyncio\tasks.py", line 605, in sleep
    return await future
asyncio.exceptions.CancelledError
2023-02-10 16:04:37,021 - distributed.nanny - WARNING - Restarting worker
2023-02-10 16:04:37,024 - distributed.nanny - WARNING - Restarting worker
2023-02-10 16:04:37,027 - distributed.nanny - WARNING - Restarting worker
client dask restart
2个回答
0
投票

关注这个答案建议降级ipykernel,它暂时解决了这个问题。

The following packages will be DOWNGRADED:

  ipykernel                             6.21.1-pyh025b116_0 --> 6.15.0-pyh025b116_0

0
投票

按照作者here的提示,在Jupyter笔记本中这将解决问题:

client = Client(processes=False)
© www.soinside.com 2019 - 2024. All rights reserved.