Stellen Sie mithilfe von SSH eine Connect zum primären Knoten des Amazon EMR-Clusters her - Amazon EMR

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Stellen Sie mithilfe von SSH eine Connect zum primären Knoten des Amazon EMR-Clusters her

Secure Shell (SSH) ist ein Netzwerkprotokoll, mit dem Sie eine sichere Verbindung mit einem Remote-Computer erstellen können. Nach dem Verbinden verhält sich das Terminal auf Ihrem lokalen Computer so, als würde es auf dem Remote-Computer ausgeführt. Lokal erstellte Befehle werden auf dem Remote-Computer ausgeführt und die Befehlsausgabe vom Remote-Computer wird im Terminal-Fenster angezeigt.

Wenn Sie SSH mit verwenden AWS, stellen Sie eine Verbindung zu einer EC2 Instance her, bei der es sich um einen virtuellen Server handelt, der in der Cloud ausgeführt wird. Bei der Arbeit mit Amazon EMR wird SSH am häufigsten verwendet, um eine Verbindung zu der EC2 Instance herzustellen, die als primärer Knoten des Clusters fungiert.

Wenn Sie SSH zum Herstellen einer Verbindung mit dem Primärknoten verwenden, können Sie den Cluster überwachen und mit ihm interagieren. Sie können Linux-Befehle auf dem Primärknoten absetzen, Anwendungen wie Hive und Pig interaktiv ausführen, Verzeichnisse durchsuchen, Protokolldateien lesen usw. Darüber hinaus können Sie einen Tunnel in Ihrer SSH-Verbindung erstellen, um die auf dem Primärknoten gehosteten Webschnittstellen anzeigen zu lassen. Weitere Informationen finden Sie unter Anzeigen von auf Amazon-EMR-Clustern gehosteten Webschnittstellen.

Um eine Verbindung mit dem Primärknoten unter Verwendung von SSH herzustellen, müssen Sie den öffentlichen DNS-Namen des Primärknotens verwenden. Darüber hinaus muss die dem Primärknoten zugeordnete Sicherheitsgruppe über eine Regel für eingehenden Datenverkehr verfügen, die SSH (TCP-Port 22)-Datenverkehr von einer Quelle zulässt, an der die SSH-Verbindung ihren Ursprung hat. Möglicherweise müssen Sie eine Regel hinzufügen, um eine SSH-Verbindung von Ihrem Client zuzulassen. Weitere Informationen zum Ändern von Sicherheitsgruppenregeln finden Sie unter Steuern Sie den Netzwerkverkehr mit Sicherheitsgruppen für Ihren Amazon EMR-Cluster Regeln zu einer Sicherheitsgruppe hinzufügen im EC2 Amazon-Benutzerhandbuch.

Abrufen des öffentlichen DNS-Namens für den Primärknoten

Sie können den primären öffentlichen DNS-Namen über die Amazon-EMR-Konsole und die AWS CLI abrufen.

Console
So rufen Sie den öffentlichen DNS-Namen für den Primärknoten mit der neuen Konsole ab
  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die Amazon EMR-Konsole unter https://console.aws.amazon.com/emr.

  2. Wählen Sie EC2 im linken Navigationsbereich unter EMR on die Option Clusters aus, und wählen Sie dann den Cluster aus, von dem Sie den öffentlichen DNS-Namen abrufen möchten.

  3. Beachten Sie den öffentlichen DNS-Wert des Primärknotens im Abschnitt Zusammenfassung der Cluster-Detailseite.

CLI
Um den öffentlichen DNS-Namen des primären Knotens abzurufen, verwenden Sie AWS CLI
  1. Geben Sie den folgenden Befehl ein, um die Cluster-Kennung abzurufen:

    aws emr list-clusters

    In der Ausgabe werden Ihre Cluster einschließlich des Clusters aufgeführt IDs. Notieren Sie die Cluster-ID für den Cluster, mit dem Sie eine Verbindung herstellen.

    "Status": { "Timeline": { "ReadyDateTime": 1408040782.374, "CreationDateTime": 1408040501.213 }, "State": "WAITING", "StateChangeReason": { "Message": "Waiting after step completed" } }, "NormalizedInstanceHours": 4, "Id": "j-2AL4XXXXXX5T9", "Name": "My cluster"
  2. Geben Sie einen der folgenden Befehle ein, um die Cluster-Instances mitsamt dem öffentlichen DNS-Namen für den Cluster aufzulisten. j-2AL4XXXXXX5T9Ersetzen Sie durch die Cluster-ID, die vom vorherigen Befehl zurückgegeben wurde.

    aws emr list-instances --cluster-id j-2AL4XXXXXX5T9

    Oder:

    aws emr describe-cluster --cluster-id j-2AL4XXXXXX5T9

    Die Ausgabe enthält die Cluster-Instances einschließlich DNS-Namen und IP-Adressen. Notieren Sie den Wert für PublicDnsName.

    "Status": { "Timeline": { "ReadyDateTime": 1408040779.263, "CreationDateTime": 1408040515.535 }, "State": "RUNNING", "StateChangeReason": {} }, "Ec2InstanceId": "i-e89b45e7", "PublicDnsName": "ec2-###-##-##-###.us-west-2.compute.amazonaws.com" "PrivateDnsName": "ip-###-##-##-###.us-west-2.compute.internal", "PublicIpAddress": "##.###.###.##", "Id": "ci-12XXXXXXXXFMH", "PrivateIpAddress": "###.##.#.###"

Weitere Informationen finden Sie unter Amazon-EMR-Befehle in der AWS CLI.

Stellen Sie mithilfe von SSH und einem EC2 privaten Amazon-Schlüssel unter Linux, Unix und Mac OS X eine Connect zum Primärknoten her

Um eine SSH-Verbindung herzustellen, die mit einer privaten Schlüsseldatei authentifiziert wird, müssen Sie den privaten Schlüssel des EC2 Amazon-Schlüsselpaars angeben, wenn Sie einen Cluster starten. Weitere Informationen zum Zugriff auf Ihr key pair finden Sie unter EC2 Amazon-Schlüsselpaare im EC2 Amazon-Benutzerhandbuch.

Ihr Linux-Computer verfügt höchstwahrscheinlich standardmäßig über einen SSH-Client. OpenSSH wird beispielsweise bei den meisten Linux-, Unix- und MacOS-Betriebssystemen installiert. Sie können nach einem SSH-Client suchen, indem Sie in der Befehlszeile ssh eingeben. Wenn Ihr Computer den Befehl nicht erkennt, installieren Sie einen SSH-Client, um eine Verbindung mit dem Primärknoten herzustellen. Das OpenSSH-Projekt bietet eine kostenlose Implementierung der umfassenden Palette von SSH-Tools. Weitere Informationen finden Sie auf der OpenSSH-Website.

In den folgenden Anleitungen wird gezeigt, wie Sie eine SSH-Verbindung mit dem Amazon-EMR-Primärknoten unter Linux, Unix und Mac OS X öffnen.

So konfigurieren Sie Berechtigungen für die Datei mit dem privaten Schlüssel Ihres Schlüsselpaares

Bevor Sie Ihren privaten Schlüssel für das EC2 Amazon-Schlüsselpaar verwenden können, um eine SSH-Verbindung herzustellen, müssen Sie die Berechtigungen für die .pem Datei so einrichten, dass nur der Schlüsselinhaber die Berechtigung hat, auf die Datei zuzugreifen. Dies ist erforderlich, um eine SSH-Verbindung mit dem Terminal oder dem herzustellen. AWS CLI

  1. Stellen Sie sicher, dass Sie eingehenden SSH-Verkehr zugelassen haben. Detaillierte Anweisungen finden Sie unter Bevor Sie eine Verbindung zu Amazon EMR herstellen: Autorisieren Sie eingehenden Datenverkehr.

  2. Suchen Sie Ihre .pem-Datei. In dieser Anleitung wird davon ausgegangen, dass die Datei mykeypair.pem heißt und im Stammverzeichnis des aktuellen Benutzers gespeichert ist.

  3. Geben Sie den folgenden Befehl ein, um die Berechtigungen festzulegen. ~/mykeypair.pemErsetzen Sie es durch den vollständigen Pfad und Dateinamen der privaten Schlüsseldatei Ihres Schlüsselpaars. Zum Beispiel C:/Users/<username>/.ssh/mykeypair.pem.

    chmod 400 ~/mykeypair.pem

    Wenn Sie keine Berechtigungen für die .pem-Datei festlegen, erhalten Sie die Fehlermeldung, dass Ihre Schlüsseldatei nicht geschützt ist und der Schlüssel abgelehnt wird. Zum Verbinden müssen Sie die Berechtigungen für die Datei mit dem privaten Schlüssel Ihres Schlüsselpaares nur bei der ersten Verwendung festlegen.

So stellen Sie eine Verbindung mit dem Primärknoten mithilfe des Terminals her
  1. Öffnen Sie ein Terminal-Fenster. Wählen Sie unter Mac OS X Applications > Utilities > Terminal (Anwendungen > Dienstprogramme > Terminal) aus. In anderen Linux-Distributionen befindet sich „Terminal“ in der Regel unter Applications > Accessories > Terminal (Anwendungen > Zubehör > Terminal).

  2. Geben Sie den folgenden Befehl ein, um eine Verbindung mit dem Primärknoten herzustellen. ec2-###-##-##-###.compute-1.amazonaws.com.rproxy.goskope.comErsetzen Sie es durch den primären öffentlichen DNS-Namen Ihres Clusters und ~/mykeypair.pem ersetzen Sie es durch den vollständigen Pfad und Dateinamen Ihrer .pem Datei. Zum Beispiel C:/Users/<username>/.ssh/mykeypair.pem.

    ssh hadoop@ec2-###-##-##-###.compute-1.amazonaws.com -i ~/mykeypair.pem
    Wichtig

    Sie müssen den Anmeldenamen hadoop verwenden, wenn Sie eine Verbindung mit dem Amazon-EMR-Primärknoten herstellen. Andernfalls wird eine Fehlermeldung ähnlich wie Server refused our key angezeigt.

  3. Es wird die Warnung angezeigt, dass die Authentizität des Hosts, mit dem Sie eine Verbindung herstellen, nicht überprüft werden konnte. Geben Sie yes ein, um fortzufahren.

  4. Wenn Sie Ihre Arbeit am Primärknoten abgeschlossen haben, geben Sie den folgenden Befehl ein, um die SSH-Verbindung zu schließen.

    exit

Wenn Sie Probleme bei der Verwendung von SSH haben, um eine Verbindung zu Ihrem Primärknoten herzustellen, finden Sie weitere Informationen unter Problembehandlung bei der Verbindung mit Ihrer Instance.

Verbinden mit dem Primärknoten mithilfe von SSH unter Windows

Windows-Benutzer können eine Verbindung mit dem Primärknoten mithilfe eines SSH-Clients wie z. B. PuTTY herstellen. Bevor Sie eine Verbindung zum Amazon EMR-Primärknoten herstellen, sollten Sie PuTTY und Pu herunterladen und installieren. TTYgen Sie können diese Tools auf der PuTTY-Download-Seite herunterladen.

PuTTY unterstützt das von Amazon generierte Schlüsselpaar-Dateiformat für private Schlüssel (.pem) nicht nativ. EC2 Sie verwenden PuTTYgen , um Ihre Schlüsseldatei in das erforderliche PuTTY-Format (.ppk) zu konvertieren. Sie müssen Ihren Schlüssel in dieses Format (.ppk) konvertieren, bevor Sie mithilfe von PuTTY eine Verbindung mit dem Primärknoten herstellen können.

Weitere Informationen zur Konvertierung Ihres Schlüssels finden Sie unter Konvertieren Ihres privaten Schlüssels mit Pu TTYgen im EC2 Amazon-Benutzerhandbuch.

So stellen Sie eine Verbindung mit dem Primärknoten mithilfe von PuTTY her
  1. Stellen Sie sicher, dass Sie eingehenden SSH-Verkehr zugelassen haben. Detaillierte Anweisungen finden Sie unter Bevor Sie eine Verbindung zu Amazon EMR herstellen: Autorisieren Sie eingehenden Datenverkehr.

  2. Öffnen Sie putty.exe. Sie können PuTTY auch über die Windows-Programmliste starten.

  3. Falls erforderlich, wählen Sie in der Category (Kategorie)-Liste Session (Sitzung) aus.

  4. Geben Sie als Hostname (oder IP-Adresse) ein hadoop@MasterPublicDNS. Beispiel: hadoop@ec2-###-##-##-###.compute-1.amazonaws.com.

  5. Wählen Sie in der Category (Kategorie)-Liste Connection > SSH (Verbindung > SSH), Auth aus.

  6. Klicken Sie bei Private key file for authentication (Private Schlüsseldatei für Authentifizierung) auf Browse (Durchsuchen), und wählen Sie die .ppk-Datei aus, die Sie generiert haben.

  7. Wählen Sie Öffnen und dann Ja aus, um die PuTTY-Sicherheitswarnung zu schließen.

    Wichtig

    Wenn Sie sich beim Primärknoten anmelden und zur Angabe eines Benutzernamens aufgefordert werden, geben Sie hadoop ein.

  8. Wenn Sie Ihre Arbeit am Primärknoten beendet haben, können Sie durch Schließen von PuTTY die SSH-Verbindung schließen.

    Anmerkung

    Um zu verhindern, dass die SSH-Verbindung das Zeitlimit überschreitet, können Sie Connection (Verbindung) in der Category (Kategorie)-Liste und anschließend die Option Enable TCP_keepalives (TCP_keepalives aktivieren) auswählen. Wenn eine SSH-Sitzung in PuTTY aktiv ist, können Sie die Einstellungen ändern, indem Sie das Kontextmenü (rechte Maustaste) für die PuTTY-Titelleiste öffnen und dann Einstellungen ändern auswählen.

Wenn Sie Probleme bei der Verwendung von SSH haben, um eine Verbindung zu Ihrem Primärknoten herzustellen, finden Sie weitere Informationen unter Problembehandlung bei der Verbindung mit Ihrer Instance.

Mit dem Primärknoten über die AWS CLI verbinden

Sie können unter Windows sowie unter Linux, Unix und Mac OS X eine SSH-Verbindung mit dem primären Knoten herstellen. Unabhängig von der Plattform benötigen Sie den öffentlichen DNS-Namen des primären Knotens und Ihren privaten Schlüssel für das EC2 Amazon-Schlüsselpaar. AWS CLI Wenn Sie den AWS CLI unter Linux, Unix oder Mac OS X verwenden, müssen Sie auch die Berechtigungen für die Datei mit dem privaten Schlüssel (.pemoder der Datei.ppk) festlegen, wie unter beschrieben. So konfigurieren Sie Berechtigungen für die Datei mit dem privaten Schlüssel Ihres Schlüsselpaares

Um eine Verbindung zum Primärknoten herzustellen, verwenden Sie AWS CLI
  1. Stellen Sie sicher, dass Sie eingehenden SSH-Verkehr zugelassen haben. Detaillierte Anweisungen finden Sie unter Bevor Sie eine Verbindung zu Amazon EMR herstellen: Autorisieren Sie eingehenden Datenverkehr.

  2. Geben Sie Folgendes ein, um die Cluster-Kennung abzurufen:

    aws emr list-clusters

    In der Ausgabe werden Ihre Cluster einschließlich des Clusters aufgeführt IDs. Notieren Sie die Cluster-ID für den Cluster, mit dem Sie eine Verbindung herstellen.

    "Status": { "Timeline": { "ReadyDateTime": 1408040782.374, "CreationDateTime": 1408040501.213 }, "State": "WAITING", "StateChangeReason": { "Message": "Waiting after step completed" } }, "NormalizedInstanceHours": 4, "Id": "j-2AL4XXXXXX5T9", "Name": "AWS CLI cluster"
  3. Geben Sie den folgenden Befehl ein, um eine SSH-Verbindung mit dem Primärknoten zu öffnen. Ersetzen Sie im folgenden Beispiel durch j-2AL4XXXXXX5T9 die Cluster-ID und ~/mykeypair.key ersetzen Sie sie durch den vollständigen Pfad und Dateinamen Ihrer .pem Datei (für Linux, Unix und Mac OS X) oder .ppk Datei (für Windows). Zum Beispiel C:\Users\<username>\.ssh\mykeypair.pem.

    aws emr ssh --cluster-id j-2AL4XXXXXX5T9 --key-pair-file ~/mykeypair.key
  4. Wenn Sie mit der Arbeit am Primärknoten fertig sind, schließen Sie das AWS CLI Fenster.

    Weitere Informationen finden Sie unter Amazon-EMR-Befehle in der AWS CLI. Wenn Sie Probleme bei der Verwendung von SSH haben, um eine Verbindung zu Ihrem Primärknoten herzustellen, finden Sie weitere Informationen unter Problembehandlung bei der Verbindung mit Ihrer Instance.