我想在远程计算机群集上使用ipython
的并行功能。只有头节点可以从外部访问。我已经设置了ssh密钥,以便我可以通过例如连接到头节点。 ssh head
并且从那里我也可以在不输入密码的情况下ssh进入任何节点,例如ssh node3
。所以,我基本上可以做运行的节点上的任何命令:通过头节点并行ipython/ipcluster
ssh head ssh node3 command
现在我真正想要做的是能够从我自己的电脑从IPython的集群上运行的工作。建立主机在ipcluster使用的方法是:
send_furl = True
engines = { 'host1.example.com' : 2,
'host2.example.com' : 5,
'host3.example.com' : 1,
'host4.example.com' : 8 }
但因为我只有头节点的主机名,我不认为我可以做到这一点。一种选择是在头节点上设置我们的ssh隧道,但我不能这样做,因为这需要打开足够的端口以容纳所有节点(事实并非如此)。有没有其他的选择?