Ответ 1
В лучшем случае это частичный ответ. Я все еще не создаю кластер, но описанные здесь шаги - довольно хороший отчет о том, как я дошел до этого момента.
КОНФИГУРАЦИЯ:
- Установите PuTTY на "удаленный компьютер"
- Установить SSH-сервер на удаленном компьютере
- Установите R на "удаленный компьютер" (используйте ту же версию R, что и на "localhost" )
-
Добавить R в PATH
-
Установите PuTTY на 'localhost'
- Установить R на 'localhost'
- Добавить R в PATH
ИСПЫТАНИЕ СОЕДИНЕНИЯ: ФАЗА I
- В командной строке запустите
C:\PuTTYPath\plink.exe -pw [password] [username]@[remote_ip_address] Rscript -e rnorm(100)
(Подтвердите возврат 100 нормальных случайных вариаций
- В командной строке запустите
C:\PuTTYPath\plink.exe -pw [password] [username]@[remoate_ip_address] RScript -e parallel:::.slaveRSOCK() MASTER=[local_ip_address] PORT=100501 OUT=/dev/null TIMEOUT=2592000 METHODS=TRUE XDR=TRUE
(Убедитесь, что сеанс запущен в журналах сервера SSH на удаленном компьютере)
ИСПЫТАНИЕ СОЕДИНЕНИЯ: ФАЗА II
-
В сеансе R запустите
system(paste0("C:/PuTTYPath/plink.exe -pw [password] ", "[username]@[remote_ip_address] ", "RScript -e rnorm(100)"))
(Подтвердите возврат 100 нормальных случайных вариаций)
-
В сеансе R запустите
system(paste0("C:/PuTTY/plink.exe ", "-pw [password] ", "[username]@[remote_ip_address] ", "RScript -e parallel:::.slaveRSOCK() ", "MASTER=[local_ip_address] ", "PORT=100501 ", "OUT=/dev/null ", "TIMEOUT=2592000 ", "METHODS=TRUE ", "XDR=TRUE"))
(Убедитесь, что сеанс запущен и поддерживается в журналах сервера SSH на "удаленном компьютере"
УСТАНОВИТЬ КЛАСТЕР
-
В сеансе R запустите
library(snow)
cl <- makeCluster(spec = c("localhost", "[remote_ip_address]"), rshcmd = "C:/PuTTY/plink.exe -pw [password]", host = "[local_ip_address]")
(Сеанс должен запускаться и поддерживаться в журналах сервера SSH на "удаленном компьютере". В идеале функция будет завершена при назначении "cl" )
Установление кластера - это тот момент, когда я терпит неудачу. Я запускаю makeCluster
и просматриваю журналы своего SSH-сервера. Он показывает, что соединение выполнено, а затем сразу же закрыто. makeCluster
никогда не заканчивается, cl
не назначается, и я зациклился на том, как продолжить. Я даже не уверен, что это проблема R или проблема с конфигурацией на данный момент.
РЕДАКТИРОВАТЬ И РЕШЕНИЕ:
По уважительной причине я попытался запустить это с пакетом snow
, как показано в разделе "Установить кластер" выше. Когда я использовал пакет snow
, кластер построен и работает стабильно. Не знаю, почему я не мог заставить это работать с пакетом parallel
, но, по крайней мере, у меня есть что-то функциональное.