r - que - tipos de instancia en aws
R y nieve en amazon EC2 usando starcluster (1)
Estoy intentando ejecutar el análisis en paralelo en R en un clúster de AWS EC2. Estoy usando starcluster para configurar y administrar el clúster EC2, y estoy tratando de usar snow
y foreach
en R. Para comenzar, tengo 2 nodos en el clúster, 1 maestro y 1 trabajador.
starcluster start mycluster
starcluster listinstances
-----------------------------------------
mycluster (security group: @sc-mycluster)
-----------------------------------------
....
Cluster nodes:
master running i-xxxxxxxxx masterIP.compute-1.amazonaws.com
node001 running i-xxxxxxxxx node001IP.compute-1.amazonaws.com
Total nodes: 2
starcluster sshmaster mycluster
Luego comienzo R y cargo el paquete de snow
e intento crear un objeto de clúster.
R
library("snow")
cl = makeCluster(c("masterIP.compute-1.amazonaws.com", "node001IP.compute-1.amazonaws.com"), type = "SOCK")
Esto, sin embargo, me da el siguiente mensaje de error:
The authenticity of host ''masterIP.compute-1.amazonaws.com (xx.xxx.xx.xx)'' can''t be established.
ECDSA key fingerprint is xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ''masterIP.compute-1.amazonaws.com,xx.xxx.xx.xx'' (ECDSA) to the list of known hosts.
Permission denied (publickey).
Así que intenté copiar mi clave ssh ( keyname.rsa
para ser específica) en el archivo .ssh en EC2 e intentar nuevamente. Eso todavía no funcionó; Recibí el mismo Permission denied (publickey).
error. Pensé que starcluster manejaba la configuración de ssh y la comunicación entre nodos, así que estoy un poco confundido sobre por qué no puedo configurar esto. También intenté simplemente agregar node001, entonces cl = makeCluster(c("node001IP.compute-1.amazonaws.com"), type = "SOCK")
, pero ocurre el mismo error.
Resulta, después de muchas modificaciones, que todo lo que se necesitaba era una actualización de R versión 2.15. El comando cl = makeCluster(c("masterIP.compute-1.amazonaws.com", "node001IP.compute-1.amazonaws.com"), type = "SOCK")
funcionó perfectamente después de eso.