Использование снега (и снегопада) с AWS для параллельной обработки в R - PullRequest
7 голосов
/ 07 сентября 2011

Что касается моего более раннего аналогичного вопроса SO , я попытался использовать снег / снегопад на 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 использовались

Ответы [ 2 ]

2 голосов
/ 07 сентября 2011

Выглядит неплохо, но файл pem неправильный.Но иногда это не так просто, и многим приходится бороться с этими проблемами.В этом сообщении можно найти множество советов:

Из моего опыта большинство людейесть проблемы в этих шагах:

  • Можете ли вы войти на машины через ssh?(ssh ec2-00-00-00-000.compute-1.amazonaws.com).Попытайтесь использовать общедоступный DNS, а не общедоступный IP-адрес для подключения.
  • Вам следует проверить свои "Группы безопасности" в AWS, если порт 22 открыт для всех машин!

Есливы планируете запустить более 10 рабочих машин; вам нужно работать над установкой MPI на своих машинах (гораздо лучшая производительность!)

Markus от cloudnumbers.com: -)

1 голос
/ 07 сентября 2011

Я считаю, что @Anatoliy прав: вы используете сертификат X.509.Чтобы узнать, какие шаги необходимо предпринять, чтобы добавить ключи SSH, обратитесь к разделу «Типы учетных данных» Руководства для начинающих EC2 .

Чтобы загрузить свои собственные ключи SSH, взгляните на эту страницу с Alestic .

Поначалу это немного сбивает с толку, но вы захотите сохранить ясностьваши ключи доступа, сертификаты и пары ключей, которые могут отображаться в текстовых файлах с DSA или RSA.

...