首页 > 解决方案 > Dask +SLURM over ftp mount (CurlFtpFS)

问题描述

所以我有一个由 4 个树莓派组成的 DASK/SLURM 集群和一个公共 NFS 共享,我可以成功运行 Python 作业。

但是,我想向我的集群添加更多不支持 NFS 挂载的 arm 设备(缺少内核模块),所以我希望转向使用 CurlftpFS 的基于 fuse 的 ftp 挂载。

我已经使用匿名用户名并且没有任何密码成功地设置了挂载,并且所有节点都可以看到公共 FTP 共享(就像以前它是 NFS 共享一样)。

我仍然可以运行 SLURM 作业(因为它们不使用共享),但是当我尝试运行 DASK 作业时,主节点超时,抱怨无法启动任何工作节点。

我不确定到底是什么问题,因为它向任何人开放以进行读/写访问(例如日志和 dask 队列中间文件)。

有什么想法可以解决这个问题吗?

标签: daskslurmdask-distributedcurlftpfs

解决方案


我不相信有人拥有像你这样的集群!猜测一下,通过 FUSE、ftp 和 pi 访问文件系统的速度比操作系统预期的要慢得多,并且您会看到低级超时的影响,即,从 Dask 的角度来看,文件读取似乎失败了。Dask 需要访问存储以进行配置,有时还需要访问临时文件。您需要确保这些位置在本地存储上或已关闭。但是,如果在导入模块期间发生这种情况,您在共享驱动器上设计了这些模块,则可能无法修复它(python 在导入过程中加载了许多小文件)。为什么不使用 rsync 将文件移动到节点?


推荐阅读