Я хочу использовать параллельные возможности ipython
на кластере удаленных компьютеров. Только головной узел доступен снаружи. Я настроил ssh-ключи, чтобы я мог подключиться к головному узлу, например, с помощью ssh head
и оттуда я могу также войти в любой узел без ввода пароля, например ssh node3
. Таким образом, я могу выполнить любые команды на узлах, выполнив:
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-туннелирование на головном узле, но я не могу сделать это в моем случае, так как для этого необходимо открыть достаточно портов для размещения всех узлов (а это не так). Есть ли альтернативы?