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

Что касается моего ранее подобного вопроса 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/ в разделе "Вход в систему без пароля в Secure Shell (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 ответа

Решение

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

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

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

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

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

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

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

Маркус из cloudnumbers.com:-)

Другие вопросы по тегам