Usando neve (e queda de neve) com AWS para processamento paralelo em R
-
27-10-2019 - |
Pergunta
Em relação à minha pergunta SO semelhante , eu tentei usando neve / queda de neve na AWS para computação paralela.
O que eu fiz foi:
- Na função
sfInit()
, eu forneci o DNS público para o parâmetrosocketHosts
assimsfInit(parallel=TRUE,socketHosts =list("ec2-00-00-00-000.compute-1.amazonaws.com"))
- O erro retornado foi
Permission denied (publickey)
- Segui então as instruções (presumo corretamente!) em http:// www. imbi.uni-freiburg.de/parallel/ na seção 'Login Secure Shell sem senha (SSH)'
- Acabei de catar o conteúdo do arquivo .pem que criei no AWS em ~ / .ssh / authorized_keys da instância AWS à qual desejo me conectar a partir de minha instância mestre AWS e também para a instância mestre AWS
Há algo que estou perdendo? Eu ficaria muito grato se os usuários pudessem compartilhar suas experiências no uso de neve na AWS.
Muito obrigado por suas sugestões.
ATUALIZAÇÃO: Eu só queria atualizar a solução que encontrei para meu problema específico:
- Usei StarCluster para configurar meu cluster AWS: StarCluster
- Pacote
snowfall
instalado em todos os nós do cluster - A partir do nó mestre, emitiu os seguintes comandos
-
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()
- As informações de ip confirmaram que os nós AWS estavam sendo utilizados
Solução
Acredito que @Anatoliy esteja correto: você está usando um certificado X.509.Para obter os passos precisos para adicionar as chaves SSH, veja a seção "Tipos de credenciais" do EC2 Starters Guide .
Para carregar suas próprias chaves SSH, dê uma olhada esta página da Alestic .
É um pouco confuso no início, mas você deseja manter claro quais são suas chaves de acesso, seus certificados e seus pares de chaves, que podem aparecer em arquivos de texto com DSA ou RSA.
Outras dicas
Não parece tão ruim, mas o arquivo pem está errado.Mas às vezes não é tão simples e muitas pessoas têm que lutar contra esses problemas.Muitas dicas que você pode encontrar neste post:
- https://forums.aws.amazon.com/message.jspa?messageID= 241341
- Ou procure no google por outras postagens.
Pela minha experiência, a maioria das pessoas tem problemas nestas etapas:
- Você consegue entrar nas máquinas via ssh?(ssh ec2 Budap-00-000.compute-1.amazonaws.com).Tente usar o DNS público, não o IP público para se conectar.
- Você deve verificar seus "grupos de segurança" no AWS se a porta 22 estiver aberta para todas as máquinas!
Se você planeja iniciar mais de 10 máquinas de trabalho, deve trabalhar em uma instalação MPI em suas máquinas (desempenho muito melhor!)
Markus de cloudnumbers.com :-)