View a markdown version of this page

Es wird versucht, einen Cluster zu aktualisieren - AWS ParallelCluster

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.

Es wird versucht, einen Cluster zu aktualisieren

Der folgende Abschnitt enthält mögliche Lösungen zur Behebung von Problemen, die beim Versuch, einen Cluster zu aktualisieren, auftreten können.

pcluster update-clusterDer Befehl kann nicht lokal ausgeführt werden

Suchen Sie ~/.parallelcluster/pcluster-cli.log in Ihrem lokalen Dateisystem nach Fehlerdetails.

clusterStatusDas Sehen erfolgt UPDATE_FAILED mit einem pcluster describe-cluster Befehl

Ursache

Um die Hauptursache des Fehlers zu ermitteln, sollten Sie sich zunächst die Cluster-Stack-Ereignisse und /var/log/chef-client.log den Hauptknoten ansehen.

Eine mögliche Ursache ist, dass mindestens ein Clusterknoten das Update nicht angewendet hat. Sie können die Liste der Knoten, die nicht aktualisiert werden konnten, /var/log/chef-client.log im Hauptknoten abrufen, indem Sie Check cluster readiness im Protokoll danach suchen.

Prüfen Sie, ob Ihr Problem unter GitHub Bekannte Probleme unter AWS ParallelCluster on erwähnt wird GitHub.

Verhindern

Ein Cluster-Update kann fehlschlagen, wenn mindestens ein Knoten im Cluster das Update nicht erfolgreich angewendet hat. Um das Risiko eines Fehlers bei der Cluster-Aktualisierung zu verringern, empfehlen wir, defekte Knoten zu beenden, bevor Sie das Update starten. Ein Beispiel für Knoten, die defekt sein könnten, sind Rechenknoten, die länger als die erwartete Epilog-Dauer im COMPLETING Status verharren. Um diese Knoten zu erkennen, können Sie den folgenden Befehl ausführen und dabei den threshold Wert an Ihre Bedürfnisse anpassen (der Wert muss größer sein als die für Ihre Epilogs erwartete maximale Dauer).

$ scontrol show nodes --json | jq -r --argjson threshold 60 ' .nodes[] | select(.state | index("COMPLETING")) | select((now - .last_busy.number) > $threshold) | .name '

Wird wiederhergestellt

Wenn das Update fehlgeschlagen ist, ist das Rollback der Mechanismus, mit dem der Status des Clusters wiederhergestellt werden soll.

Wenn das Rollback fehlgeschlagen ist, ist der Clusterstatus nicht deterministisch. In diesem Fall kann es sein, dass das System gestoppt clustermgtd wurde, um die Ausbreitung von Ausfällen zu verhindern. Wir empfehlen, es zu starten, indem Sie den folgenden Befehl auf dem Hauptknoten ausführen. Passen Sie die Python-Version an die an, die mit Ihrer AWS ParallelCluster Version geliefert wurde:

$ /opt/parallelcluster/pyenv/versions/3.12.11/envs/cookbook_virtualenv/bin/supervisorctl start clustermgtd

Das Cluster-Update hat das Zeitlimit überschritten

Dies könnte ein Problem sein, das damit zusammenhängt, dass es cfn-hup nicht ausgeführt wird. Wenn der cfn-hup Dämon durch einen externen Grund beendet wird, wird er nicht automatisch neu gestartet. Wenn er cfn-hup nicht ausgeführt wird, startet der CloudFormation Stack den Aktualisierungsvorgang während eines Cluster-Updates wie erwartet, aber der Aktualisierungsvorgang ist auf dem Hauptknoten nicht aktiviert, und bei der Stack-Bereitstellung kommt es irgendwann zu einem Timeout. Weitere Informationen finden Sie unter Fehlerbehebung bei einem Timeout für ein Cluster-Update, wenn es cfn-hup nicht läuft So beheben Sie das Problem und beheben es.