Verwenden von Schnee (und Schneefall) mit AWS für die parallele Verarbeitung in R.
-
27-10-2019 - |
Frage
In Bezug auf meine frühere ähnliche SO-Frage habe ich es versucht Verwenden von Schnee / Schneefall in AWS für paralleles Rechnen.
Was ich getan habe war:
- In der Funktion
sfInit()
habe ich den öffentlichen DNS für den ParametersocketHosts
wie folgt bereitgestelltsfInit(parallel=TRUE,socketHosts =list("ec2-00-00-00-000.compute-1.amazonaws.com"))
- Der zurückgegebene Fehler war
Permission denied (publickey)
- Ich habe dann die Anweisungen (ich nehme richtig an!) Auf http:// www befolgt. imbi.uni-freiburg.de/parallel/ im Abschnitt 'Passwordless Secure Shell (SSH) Login'
- Ich ordne den Inhalt der .pem-Datei, die ich in AWS erstellt habe, einfach den ~ / .ssh / autorisierten_Tasten der AWS-Instanz zu, zu der ich eine Verbindung von meiner Master-AWS-Instanz und auch für die Master-AWS-Instanz herstellen möchte. li>
Gibt es etwas, das ich verpasse? Ich wäre sehr dankbar, wenn Benutzer ihre Erfahrungen mit der Verwendung von Schnee auf AWS teilen könnten.
Vielen Dank für Ihre Vorschläge.
UPDATE: Ich wollte nur die gefundene Lösung für mein spezifisches Problem aktualisieren:
- Ich habe StarCluster zum Einrichten meines AWS-Clusters verwendet: StarCluster
- Installiertes Paket
snowfall
auf allen Knoten des Clusters - Vom Masterknoten wurden die folgenden Befehle ausgegeben:
-
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()
- Die IP-Informationen bestätigten, dass die AWS-Knoten verwendet wurden
Lösung
Ich glaube, @Anatoliy ist richtig: Sie verwenden ein X.509-Zertifikat.Die genauen Schritte zum Hinzufügen der SSH-Schlüssel finden Sie im Abschnitt "Arten von Anmeldeinformationen" unter EC2 Starterhandbuch .
Um Ihre eigenen SSH-Schlüssel hochzuladen, besuchen Sie diese Seite von Alestic .
Andere Tipps
Sieht nicht so schlecht aus, aber die PEM-Datei ist falsch.Aber es ist manchmal nicht so einfach und viele Menschen müssen mit diesen Problemen kämpfen.Viele Tipps finden Sie in diesem Beitrag:
- https://forums.aws.amazon.com/message.jspa?messageID= 241341
- Oder suchen Sie bei Google nach anderen Posts.
Nach meiner Erfahrung haben die meisten Menschen Probleme mit diesen Schritten:
- Können Sie sich über ssh an den Maschinen anmelden?(ssh ec2-00-00-00-000.compute-1.amazonaws.com).Versuchen Sie, das öffentliche DNS und nicht die öffentliche IP-Adresse für die Verbindung zu verwenden.
- Sie sollten Ihre "Sicherheitsgruppen" in AWS überprüfen, wenn der 22-Port für alle Computer geöffnet ist!
Wenn Sie mehr als 10 Worker-Computer starten möchten, sollten Sie an einer MPI-Installation auf Ihren Computern arbeiten (viel bessere Leistung!)
Markus von cloudnumbers.com :-)