python - 从笔记本启动 IPython 集群有延迟

标签 python ipython jupyter-notebook

我们的 SGE 集群设置要求 Controller 和引擎启动之间存在延迟。如果不存在这种延迟,则某些服务器会使用“旧”ipcontroller-client.json 文件并尝试连接到以前的(且未运行的) Controller 。这是一个 NFS“功能”,因此为了补救,我在 ipcluster_config.py 文件中设置了 c.IPClusterStart.delay = 30,一切正常。 Controller 被提交给SGE,有足够的时间启动并写入其json文件,然后引擎可以正确启动到新运行的 Controller 。但是,我还希望能够从笔记本启动集群。不幸的是,似乎没有使用这个超时, Controller 和引擎同时启动(如 watch qstat 所示),一些引擎连接(因为从json 文件),有些则没有(因为 NFS)。

我在笔记本上运行了 strace,发现它使用 sge_controllersge_engines 脚本(当您按开始时由笔记本创建)来启动这些进程。

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

我用谷歌搜索过这个网站,但没有成功。希望有人能够阐明这种行为的更深层次的运作方式。

谢谢, 克里斯

最佳答案

好吧,这对于OP来说可能为时已晚,但希望它能对某人有所帮助。

如果是超时问题,只需将c.EngineFactory.timeoutc.IPEngineApp.wait_for_url_file设置为更大的时间即可。

如果是由于第一次运行后失败,则可能是由于残留的安全文件,应将其删除(ipcontroller-engine.jsonipcontroller-client.json )从相关的 iPython 配置文件中使用 IPython.utils.path.get_security_file 获取完整路径。为了自动执行此操作并减轻痛苦,可以将此删除步骤附加到同一配置文件的 ipcluster_config.py 的开头。

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

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

关于python - 从笔记本启动 IPython 集群有延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15376992/

相关文章:

python - 关于余弦相似度,损失函数和网络如何选择(我有两个方案)

python - 在pandas中查找两列中的关系值

python - 在 virtualenv 下 pip install mysql==1.2.3 (将 Django 部署到 Amazon Elastic Beanstalk)

python - 升级到 IPython 6.0 后,spyder 与 Anaconda 的 jedi 依赖问题

python - 错误! blahfile 不是 UTF-8 编码的。保存已禁用

python - 在 Pandas 数据框中计算点之间最短(欧几里得)距离的最快方法

python - IPython 支持 ctypes 吗?

python - 为什么我的图表是一个疯狂闪烁的怪物?

python - conda 错误: No writable package cache directories found in conda-pkgs

python - 如何使用 python 代码在 jupyter 笔记本中保存 ipython 小部件的状态