Sto provando a eseguire l'analisi in parallelo su R su un cluster AWS EC2. Sto usando starcluster per impostare e gestire il cluster EC2 e sto cercando di usare snow
e foreach
in R. Per iniziare, ho 2 nodi nel cluster, 1 master e 1 worker.R e neve su Amazon EC2 utilizzando starcluster
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
ho poi inizio R e caricare il pacchetto snow
e cercare di creare un cluster oggetto.
R
library("snow")
cl = makeCluster(c("masterIP.compute-1.amazonaws.com", "node001IP.compute-1.amazonaws.com"), type = "SOCK")
Questo, tuttavia, mi dà il seguente messaggio di errore:
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).
Così ho provato a copiare la mia chiave SSH (keyname.rsa
per essere precisi) per il file .ssh su EC2 e provare di nuovo. Ciò non funzionava ancora; Ho ricevuto lo stesso errore Permission denied (publickey).
. Ho pensato che Starcluster abbia gestito l'installazione di ssh e la comunicazione tra i nodi, quindi sono un po 'confuso sul perché non sono in grado di configurarlo. Ho anche provato ad aggiungere solo node001, quindi cl = makeCluster(c("node001IP.compute-1.amazonaws.com"), type = "SOCK")
, ma si verifica lo stesso errore.