Что касается моего более раннего подобного вопроса SO , я попытался использовать snow/ снегопад на AWS для параллельных вычислений.
Я сделал следующее:
- В функции
sfInit()
я указал общедоступный параметр DNS дляsocketHosts
вот такsfInit(parallel=TRUE,socketHosts =list("ec2-00-00-00-000.compute-1.amazonaws.com"))
- Возвращенная ошибка:
Permission denied (publickey)
- Затем я следовал инструкциям (полагаю, правильно!) на http://www.imbi.uni-freiburg.de/parallel/ в разделе «Вход в защищенную оболочку без пароля (SSH)»
- Я просто копирую содержимое файла .pem, который я создал на AWS, в ~/.ssh/authorized_keys экземпляра AWS, к которому я хочу подключиться из моего главного экземпляра AWS, а также для главного экземпляра AWS.
Есть ли что-то, что я упускаю? Буду очень благодарен, если пользователи поделятся своим опытом использования снега на AWS.
Большое спасибо за ваши предложения.
ОБНОВЛЕНИЕ: я просто хотел обновить решение, которое я нашел для своей конкретной проблемы:
- Я использовал StarCluster для настройки своего кластера AWS: StarCluster
- Установлен пакет
snowfall
на всех узлах кластера - С мастер-узла выдаются следующие команды
hostslist <- list("ec2-xxx-xx-xxx-xxx.compute-1.amazonaws.com","ec2-xx-xx-xxx-xxx.compute-1.amazonaws.com")
sfInit(parallel=TRUE, cpus=2, type="SOCK",socketHosts=hostslist)
l <- sfLapply(1:2,function(x)system("ifconfig",intern=T))
lapply(l,function(x)x[2])
sfStop()
- Информация об ip подтвердила, что узлы AWS используются.