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

Что касается моего более раннего подобного вопроса 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 используются.

person harshsinghal    schedule 07.09.2011    source источник
comment
Я считаю, что файл .pem является сертификатом X509, а не открытым ключом RSA. Вы должны сгенерировать пару ключей на главном узле, как описано в разделе, и скопировать открытый ключ в author_keys подчиненных узлов.   -  person Anatoliy    schedule 07.09.2011
comment
Я считаю, что @Anatolyy прав; он должен ответить на это, а не просто прокомментировать, чтобы мы могли проголосовать. :)   -  person Iterator    schedule 07.09.2011
comment
Возможно, проигнорируйте мой ответ на другой ваш вопрос об использовании StarCluster, как я теперь вижу, но попробуйте запустить весь кластер в пределах диапазона частных IP-адресов, мне не нужно было возиться с ключами или сертификатами, как только я начал это делать.   -  person Thell    schedule 27.11.2012


Ответы (2)


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

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

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

person Iterator    schedule 07.09.2011
comment
Спасибо за ссылки. Каким-то образом это оказалось более волосатым, чем я ожидал. - person harshsinghal; 07.09.2011
comment
Становится легче, но не благодаря вступительным материалам Amazon — они вообще имеют смысл только после того, как человек все освоит. Alestic - хороший сайт, чтобы знать. - person Iterator; 07.09.2011
comment
Что вы думаете о web.mit.edu/stardev/cluster/ docs/0.92rc2/quickstart.html ? - person harshsinghal; 07.09.2011
comment
На всякий случай в StarCluster есть команда createkey, которая создаст для вас новую пару ключей EC2: $ starcluster createkey mykey -o ~/.ssh/ec2key.rsa - person jtriley; 13.12.2012

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

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

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

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

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

person Markus Schmidberger    schedule 07.09.2011
comment
Я могу подключиться по ssh к ведомым узлам, и все машины принадлежат к одной группе безопасности. Также я использую общедоступный DNS для подключения. - person harshsinghal; 07.09.2011