延迟从笔记本启动IPython群集

2024-05-13 14:49:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我们的SGE集群设置要求控制器和引擎启动之间有一个延迟。如果不存在这种延迟,则某些服务器使用“旧”ipcontroller-client.json文件并尝试连接到以前(而不是正在运行)的控制器。这是一个NFS“特性”,所以为了补救,我在ipcluster中设置c.IPClusterStart.delay = 30_配置.py文件和东西运作良好。控制器提交给SGE,有足够的时间启动和写入json文件,然后引擎可以正确启动到新运行的控制器。不过,我也希望能够从笔记本启动群集。不幸的是,似乎没有使用该超时,控制器和引擎同时启动(如watch qstat)时所示,一些引擎连接(因为从json文件中获取新设置),而另一些则没有(因为NFS)。在

我在笔记本上运行了一个strace,发现它正在使用sge_controller和{}脚本(当您按start时由笔记本创建)来启动这些进程。在

我想知道有没有办法在这里实现延迟。它以正确的方式启动控制器和引擎(SGE),所以我知道它在读取ipcluster_config.py。在

我在谷歌上搜索了一下这个网站,但没找到。希望有人能对这种行为的深层次运作有所启示。在

谢谢, 克里斯


Tags: 文件py引擎服务器clientjson集群笔记本
1条回答
网友
1楼 · 发布于 2024-05-13 14:49:48

好吧,这对手术来说可能太晚了,但希望它能帮助到某些人。在

如果是超时问题,只需将c.EngineFactory.timeout和{}设置为更大的时间。在

如果它是由于第一次运行后失败造成的,则可能是由于延迟的安全文件,应该使用IPython.utils.path.get_security_file从相关的iPython配置文件中删除(ipcontroller-engine.json和{}),以获得完整路径。为了自动化这一过程并使之稍微不那么痛苦,这个删除步骤可以附加到同一个概要文件的ipcluster_config.py的开头。在

仅这些更改就足以让集群与笔记本轻松运行。在

如果这两种方法都不能解决问题,还有一些其他的想法(http://mail.scipy.org/pipermail/ipython-user/2011-November/008741.html)。在

相关问题 更多 >