Использование снега (и снегопада) с 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 неправильный. Но иногда это не так просто, и многим приходится бороться с этими проблемами. Много советов вы можете найти в этом посте:
- https://forums.aws.amazon.com/message.jspa?messageID=241341
- Или проверьте Google для других сообщений.
Исходя из моего опыта, большинство людей имеют проблемы с этими шагами:
- Можете ли вы войти на машины через ssh? (ssh ec2-00-00-00-000.compute-1.amazonaws.com). Попробуйте использовать общедоступный DNS, а не публичный IP для подключения.
- Вы должны проверить свои "Группы безопасности" в AWS, если порт 22 открыт для всех машин!
Если вы планируете запускать более 10 рабочих машин, вы должны работать над установкой MPI на своих машинах (намного лучшая производительность!)
Маркус из cloudnumbers.com:-)