dask - Dask +SLURM over ftp mount (CurlFtpFS)
问题描述
所以我有一个由 4 个树莓派组成的 DASK/SLURM 集群和一个公共 NFS 共享,我可以成功运行 Python 作业。
但是,我想向我的集群添加更多不支持 NFS 挂载的 arm 设备(缺少内核模块),所以我希望转向使用 CurlftpFS 的基于 fuse 的 ftp 挂载。
我已经使用匿名用户名并且没有任何密码成功地设置了挂载,并且所有节点都可以看到公共 FTP 共享(就像以前它是 NFS 共享一样)。
我仍然可以运行 SLURM 作业(因为它们不使用共享),但是当我尝试运行 DASK 作业时,主节点超时,抱怨无法启动任何工作节点。
我不确定到底是什么问题,因为它向任何人开放以进行读/写访问(例如日志和 dask 队列中间文件)。
有什么想法可以解决这个问题吗?
解决方案
我不相信有人拥有像你这样的集群!猜测一下,通过 FUSE、ftp 和 pi 访问文件系统的速度比操作系统预期的要慢得多,并且您会看到低级超时的影响,即,从 Dask 的角度来看,文件读取似乎失败了。Dask 需要访问存储以进行配置,有时还需要访问临时文件。您需要确保这些位置在本地存储上或已关闭。但是,如果在导入模块期间发生这种情况,您在共享驱动器上设计了这些模块,则可能无法修复它(python 在导入过程中加载了许多小文件)。为什么不使用 rsync 将文件移动到节点?
推荐阅读
- java - java类继承练习
- amazon-web-services - AWS Lambda 是否复制每条消息?
- node.js - 为什么“每 1 分钟”是我可以使用 later.js 的唯一时间表?
- html - 如何为包含选定单词的列添加图形标记?
- jquery - Twitter 的 Bootstrap 4 - ComboBox 更改项目的行高
- http - 如何使 tcl https 与 mitmproxy 一起工作?
- php - 调用 close() 后有什么方法可以比较 ZipArchive 对象?
- ruby-on-rails - 上传前的 Rails 5.2 ActiveStorage 裁剪附件
- swift - 为什么延迟动画与for循环不同步?
- python - 在 Python 脚本中忽略 BigQuery use_avro_logical_types