View a markdown version of this page

Ersetzen fehlerhafter Knoten durch Amazon EMR - 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.

Ersetzen fehlerhafter Knoten durch Amazon EMR

Amazon EMR verwendet regelmäßig den NodeManager Health Checker-Service in Apache Hadoop, um den Status der Kernknoten in Ihrem Amazon EMR auf Amazon EC2-Clustern zu überwachen. Wenn ein Knoten nicht optimal funktioniert, wird der Knoten als fehlerhaft markiert und der Health Checker meldet diesen Knoten an den Amazon EMR-Controller. Der Amazon EMR-Controller fügt den Knoten zu einer Ablehnungsliste hinzu und verhindert so, dass der Knoten neue YARN-Anwendungen empfängt, bis sich der Status des Knotens verbessert.

Anmerkung

Ein häufiger Grund dafür, dass ein Knoten fehlerhaft ist, ist, dass er nicht genügend Speicherplatz hat. Weitere Informationen dazu, wann ein Core-Knoten fast keinen Speicherplatz mehr hat, finden Sie im folgenden Artikel im re:POST Knowledge Center: Warum geht dem Kernknoten in meinem Amazon EMR-Cluster der Speicherplatz aus?

Anmerkung

Hadoop bietet die Möglichkeit, benutzerdefinierte Node-Health-Checks durchzuführen. Dies wird in der Apache Hadoop-Dokumentation unter näher erläutert. NodeManager

Sie können wählen, ob Amazon EMR fehlerhafte Knoten beenden oder sie im Cluster belassen soll. Wenn Sie den Austausch defekter Knoten deaktivieren, bleiben diese auf der Liste der verweigerten Knoten und werden weiterhin auf die Clusterkapazität angerechnet. Sie können zur Konfiguration und Wiederherstellung weiterhin eine Verbindung zu Ihrer Amazon EC2-Core-Instance herstellen, sodass Sie die Größe Ihres Clusters ändern können, wenn Sie Kapazität hinzufügen möchten. Weitere Informationen darüber, wie der Austausch und die Kündigung von Knoten funktionieren, finden Sie unter Verwenden des Kündigungsschutzes.

Wenn ein fehlerhafter Node-Ersatz aktiviert ist, beendet Amazon EMR einen fehlerhaften Core-Knoten und stellt eine neue Instance bereit, die auf der Anzahl der Instances in der Instance-Gruppe oder auf der Zielkapazität für Instance-Flotten basiert. Wenn Knoten länger als 45 Minuten fehlerhaft sind, ersetzt Amazon EMR die Knoten ordnungsgemäß. https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-scaledown-behavior.html#emr-scaledown-terminate-task Wenn die ordnungsgemäße Außerbetriebnahme eines Knotens nicht innerhalb einer Stunde abgeschlossen wird, wird der Knoten zwangsweise beendet, es sei denn, durch das Beenden des Knotens wird der Cluster unter die Replikationsfaktor- oder HDFS-Kapazitätsbeschränkungen gebracht.

Wichtig

Beachten Sie, dass die Zeit, die benötigt wird, bis ein Knoten ordnungsgemäß außer Betrieb genommen oder beendet wird, Änderungen unterliegen kann.

Ein fehlerhafter Node-Austausch mindert zwar das Risiko von Datenverlusten erheblich, schließt das Risiko jedoch nicht vollständig aus. HDFS-Daten können beim ordnungsgemäßen Austausch einer fehlerhaften Core-Instance dauerhaft verloren gehen. Wir empfehlen, dass Sie Ihre Daten immer sichern.

Weitere Informationen zur Identifizierung fehlerhafter Knoten und zur Wiederherstellung finden Sie unter Ressourcenfehler. Weitere bewährte Methoden, die Sie befolgen können, um den Zustand eines Clusters aufrechtzuerhalten, finden Sie in der folgenden Dokumentation zum Ressourcenfehler. Amazon EMR-Cluster terminiert mit NO_SLAVE_LEFT und den Kernknoten FAILED_BY_MASTER.

Amazon EMR veröffentlicht Amazon CloudWatch Events für den Austausch fehlerhafter Knoten, sodass Sie verfolgen können, was mit Ihren fehlerhaften Core-Instances passiert. Weitere Informationen finden Sie unter Ereignisse beim Austausch fehlerhafter Knoten.

Standardeinstellungen für den Knotenwechsel und den Kündigungsschutz

Ein fehlerhafter Node-Ersatz ist für alle Amazon EMR-Versionen verfügbar, aber die Standardeinstellungen hängen von der von Ihnen gewählten Versionsbezeichnung ab. Sie können jede dieser Einstellungen ändern, indem Sie bei der Erstellung eines neuen Clusters den Austausch fehlerhafter Knoten konfigurieren oder jederzeit zur Cluster-Konfiguration wechseln.

Wenn Sie einen Cluster mit einem Knoten oder einen Cluster mit hoher Verfügbarkeit erstellen, auf dem Amazon EMR Version 7.0 oder niedriger ausgeführt wird, hängt die Standardeinstellung für den Austausch fehlerhafter Knoten vom Kündigungsschutz ab:

  • Wenn Sie den Kündigungsschutz aktivieren, wird der Austausch fehlerhafter Knoten deaktiviert.

  • Die Deaktivierung des Terminierungsschutzes ermöglicht einen fehlerhaften Austausch von Knoten.

Konfiguration eines fehlerhaften Knotenaustauschs beim Starten eines Clusters

Sie können den Austausch fehlerhafter Knoten aktivieren oder deaktivieren, wenn Sie einen Cluster mithilfe der Konsole AWS CLI, der oder der API starten.

Die Standardeinstellung für den Austausch fehlerhafter Knoten hängt davon ab, wie Sie den Cluster starten:

  • Amazon EMR-Konsole — Der Austausch von fehlerhaften Knoten ist standardmäßig aktiviert.

  • AWS CLI aws emr create-cluster— Der Austausch von fehlerhaften Knoten ist standardmäßig aktiviert, sofern Sie nichts anderes angeben. --no-unhealthy-node-replacement

  • Amazon RunJobFlow EMR-API-Befehl — Ein fehlerhafter Node-Ersatz ist standardmäßig aktiviert, sofern Sie den UnhealthyNodeReplacement booleschen Wert nicht auf oder setzen. True False

Console
Um den fehlerhaften Node-Ersatz ein- oder auszuschalten, wenn Sie einen Cluster mit der Konsole erstellen
  1. Melden Sie sich bei der AWS-Managementkonsole an und öffnen Sie die Amazon EMR-Konsole unter. https://console.aws.amazon.com/emr

  2. Wählen Sie im linken Navigationsbereich unter EMR in EC2 die Option Cluster und dann Cluster erstellen aus.

  3. Wählen Sie für die EMR-Release-Version das gewünschte Amazon EMR-Release-Label aus.

  4. Vergewissern Sie sich, dass unter Cluster-Terminierung und Node-Replacement die Option Ungesunder Node-Ersatz (empfohlen) vorab ausgewählt ist, oder deaktivieren Sie die Auswahl, um ihn auszuschalten.

  5. Wählen Sie alle anderen Optionen aus, die für Ihren Cluster gelten.

  6. Um Ihren Cluster jetzt zu starten, wählen Sie Cluster erstellen aus.

AWS CLI
Um den Austausch von fehlerhaften Knoten beim Erstellen eines Clusters mithilfe von AWS CLI
  • Mit dem können Sie einen Cluster starten AWS CLI, bei dem der Austausch von defekten Knoten mithilfe des create-cluster Befehls mit dem --unhealthy-node-replacement Parameter aktiviert ist. Die Ersetzung eines fehlerhaften Knotens ist standardmäßig aktiviert.

    Im folgenden Beispiel wird ein Cluster erstellt, in dem der Austausch von fehlerhaften Knoten aktiviert ist:

    Anmerkung

    Linux-Zeilenfortsetzungszeichen (\) sind aus Gründen der Lesbarkeit enthalten. Sie können entfernt oder in Linux-Befehlen verwendet werden. Entfernen Sie sie unter Windows oder ersetzen Sie sie durch ein Caret-Zeichen (^).

    aws emr create-cluster --name "SampleCluster" --release-label emr-7.13.0 \ --applications Name=Hadoop Name=Hive Name=Pig \ --use-default-roles --ec2-attributes KeyName=myKey --instance-type m5.xlarge \ --instance-count 3 --unhealthy-node-replacement

    Weitere Informationen zur Verwendung von Amazon EMR-Befehlen finden Sie unter Amazon AWS CLI EMR-Befehle. AWS CLI

Konfiguration eines fehlerhaften Knotenaustauschs in einem laufenden Cluster

Sie können den fehlerhaften Node-Ersatz für einen laufenden Cluster mithilfe der Konsole, der oder der API ein AWS CLI- oder ausschalten.

Console
Um den fehlerhaften Node-Ersatz für einen laufenden Cluster mit der Konsole ein- oder auszuschalten
  1. Melden Sie sich bei der AWS-Managementkonsole an und öffnen Sie die Amazon EMR-Konsole unter. https://console.aws.amazon.com/emr

  2. Wählen Sie im linken Navigationsbereich unter EMR in EC2 die Option Cluster und dann den Cluster aus, den Sie aktualisieren möchten.

  3. Suchen Sie auf der Seite mit den Cluster-Details auf der Registerkarte Eigenschaften nach Cluster-Terminierung und Node-Replacement und wählen Sie Bearbeiten aus.

  4. Aktivieren oder deaktivieren Sie das Kontrollkästchen Fehlerhafter Node-Ersatz, um die Funktion ein- oder auszuschalten. Wählen Sie dann zur Bestätigung Änderungen speichern aus.

AWS CLI
Um den Austausch von fehlerhaften Knoten für einen laufenden Cluster ein- oder auszuschalten, verwenden Sie den AWS CLI
  • Verwenden Sie den modify-cluster-attributes Befehl mit dem Parameter, um den Austausch fehlerhafter Knoten in einem laufenden Cluster mit dem AWS CLI--unhealthy-node-replacement zu aktivieren. Um ihn zu deaktivieren, verwenden Sie den Parameter --no-unhealthy-node-replacement.

    Im folgenden Beispiel wird das Ersetzen eines fehlerhaften Knotens auf dem Cluster mit der ID aktiviert: j-3KVTXXXXXX7UG

    aws emr modify-cluster-attributes --cluster-id j-3KVTXXXXXX7UG --unhealthy-node-replacement

    Im folgenden Beispiel wird der Austausch von fehlerhaften Knoten auf demselben Cluster deaktiviert:

    aws emr modify-cluster-attributes --cluster-id j-3KVTXXXXXX7UG --no-unhealthy-node-replacement