У меня dispynode запущен на удаленном сервере. Я пытаюсь открыть SSH-туннель со своего компьютера (клиента) и настроить dispyJobCluster для использования этого туннеля. Но это не работает. Я не правильно настраиваю? Вот как я это делаю:
(p.s. у меня нет глубоких знаний в области распределенных и параллельных вычислений или сетей, я инженер-строитель, поэтому, пожалуйста, извините меня, если я иногда не использую правильные технические слова)
Туннель SSH:
plink -v -ssh -L 61:localhost:21 [email protected]
Это перенаправит соединения на порт 61 на localhost: 21 на сервере, где работает dispynode.
dispynode:
sudo dispynode.py -d --ext_ip_addr localhost -p 21 -i localhost
будет прослушивать порт 21 и передавать, используя localhost, который ведет его через туннель обратно к клиенту
с этим кодом dispyClient JobCluster:
cluster = dispy.JobCluster( runCasterDispyWorker,
nodes=[('localhost',61)], \
ip_addr='localhost', \
ext_ip_addr='localhost', \
port = 61, \
node_port = 21, \
recover_file='recover.rec', \
)
Когда я запускаю dispy.py, я получаю следующую ошибку в командной строке, из которой я открыл туннель SSH:
Открытие соединения с localhost: 21 для перенаправления с 127.0.0.1:64027
Перенаправленный порт закрыт
По крайней мере, я предполагаю, что это означает, что dipsy пытается получить доступ к открытому туннелю SSH, но я не уверен, что происходит на стороне сервера. Похоже, что диспинод ничего не получает. Быстрый захват трафика с помощью TCPdump на сервере подтверждает это. По неизвестной причине порт меняется на 64027.
Я также попытался открыть 2 туннеля SSH одновременно:
Один для связи клиент-сервер
plink -v -ssh -L 61: локальный хост: 21 [email protected]
Один для связи между сервером и клиентом
plink -v -ssh -R 20: локальный хост: 60 [email protected]
но безуспешно. Я даже не уверен, лучше ли использовать удаленную пересылку или локальную пересылку
Я попробовал это решение, которое предложил сам разработчик dispy, но у меня оно не сработало:
http://sourceforge.net/p/dispy/discussion/1771151/thread/bcad6eaa/
Неправильная ли конфигурация, которую я использовал выше? Что мне следует использовать: удаленную или локальную переадресацию? Почему порт изменяется автоматически, может ли это быть из-за того, что брандмауэр моей компании блокирует соединение через порты, которые я пытаюсь использовать? Кому-нибудь раньше удавалось запускать dispy через SSH-туннель?