Warum wird mein Amazon EMR-Cluster mit dem Fehler „application provisioning failed“ beendet?
Mein Amazon EMR-Cluster wurde mit dem Fehler „application provisioning failed“ beendet.
Lösung
Wenn Amazon EMR beim Start eines Amazon EMR-Clusters eine bestimmte Software nicht installieren, konfigurieren oder starten kann, erhältst du möglicherweise die Fehlermeldung „application provisioning failed“.
Überprüfe die Amazon EMR-Bereitstellungsprotokolle
Amazon EMR speichert Cluster-Bereitstellungsprotokolle in einem Amazon Simple Storage Service (Amazon S3)-Bucket, den du angibst, wenn du den Cluster startest.
Führe die folgenden Schritte aus:
- Öffne die Amazon EMR-Konsole.
- Wähle im Navigationsbereich die Option Cluster aus. Wähle dann den ausgefallenen Amazon EMR-Cluster aus, um die Cluster-Details anzuzeigen.
- Wähle im Abschnitt Zusammenfassung die Option Mit Fehlern beendet aus und notiere dir die Primärknoten-ID, die in der Fehlermeldung enthalten ist.
- Wähle im Abschnitt Cluster-Protokolle die Amazon S3-Standort-URL aus.
- Folge dem folgenden Pfad, um zu deinem UUID-Ordner zu navigieren:
node/example-primary-node-ID/provision-node/apps-phase/0/example-UUID/.
**Hinweis:**Ersetze example-primary-node-ID durch deine Primärknoten-ID. Ersetze example-UUID durch deine UUID. - Wähle in der daraufhin angezeigten Liste puppet.log.gz aus und klicke auf Öffnen, um die Bereitstellung in einer neuen Browser-Registerkarte anzuzeigen.
Identifiziere die Gründe für Fehler in den Bereitstellungsprotokollen
Nicht unterstützte Konfigurationsparameter können zu Fehlern führen. Falsche Hostnamen, falsche Passwörter oder allgemeine Betriebssystemprobleme können ebenfalls zu Fehlern führen. Durchsuche Protokolle nach verwandten Schlüsselwörtern, einschließlich „error“, „err“ oder „fail“.
Probleme, wenn du mit einer Amazon RDS-Instance eine Verbindung zu einem externen Metastore herstellst
Du kannst einige Amazon EMR-Anwendungen wie Apache Hive, Hue oder Apache Oozie so konfigurieren, dass Daten in einer externen Datenbank wie Amazon Relational Database Service (Amazon RDS) gespeichert werden. Wenn du Verbindungsprobleme mit der externen Datenbank hast, erhältst du eine Fehlermeldung.
Beispiel für eine Fehlermeldung von Hive:
2022-11-26 02:59:36 +0000 /Stage[main]/Hadoop_hive::Init_metastore_schema/Exec[init hive-metastore schema]/returns (notice): org.apache.hadoop.hive.metastore.HiveMetaException: Failed to get schema version. 2022-11-26 02:59:36 +0000 /Stage[main]/Hadoop_hive::Init_metastore_schema/Exec[init hive-metastore schema]/returns (notice): Underlying cause: java.sql.SQLNonTransientConnectionException : Could not connect to address=(host=hostname)(port=3306)(type=master) : Socket fail to connect to host:hostname, port:3306. hostname 2022-11-26 02:59:36 +0000 /Stage[main]/Hadoop_hive::Init_metastore_schema/Exec[init hive-metastore schema]/returns (notice): SQL Error code: -1
Gehe wie folgt vor, um diesen Art von Fehler zu beheben:
- Stelle sicher, dass der Hostname, der Benutzer, das Passwort und die Datenbank der Amazon RDS-Instance korrekt sind.
- Stelle sicher, dass die Regeln für eingehende Amazon RDS-Instance-Sicherheitsgruppen Verbindungen von der Amazon EMR-Sicherheitsgruppe für den Primärknoten zulassen.
Probleme beim Herstellen einer Verbindung zu einem externen KDC
Mit Amazon EMR kannst du ein externes KDC konfigurieren, um eine zusätzliche Sicherheitsebene hinzuzufügen. Du kannst auch eine Vertrauensbeziehung mit einem Active Directory-Server einrichten. Wenn ein Fehler auftritt, wenn du das KDC kontaktierst oder versuchst, einer Domain beizutreten, dann erhältst du eine Fehlermeldung.
Beispiel für eine Fehlermeldung von Puppet:
2022-11-26 03:02:01 +0000 Puppet (err): 'echo "${AD_DOMAIN_JOIN_PASSWORD}" | realm join -v -U "${AD_DOMAIN_JOIN_USER}"@"${CROSS_REALM_TRUST_REALM}" "${CROSS_REALM_TRUST_DOMAIN}"' returned 1 instead of one of [0] 2022-11-26 03:02:01 +0000 /Stage[main]/Kerberos::Ad_joiner/Exec[realm_join]/returns (err): change from 'notrun' to ['0'] failed: 'echo "${AD_DOMAIN_JOIN_PASSWORD}" | realm join -v -U "${AD_DOMAIN_JOIN_USER}"@"${CROSS_REALM_TRUST_REALM}" "${CROSS_REALM_TRUST_DOMAIN}"' returned 1 instead of one of [0]
Gehe wie folgt vor, um diesen Art von Fehler zu beheben:
- Prüfe, ob du den Kerberos-Bereich richtig geschrieben hast.
- Prüfe, ob du das KDC-Administratorkennwort richtig eingegeben hast.
- Überprüfe, ob du den beitretenden Active Directory-Benutzer und das Kennwort richtig geschrieben hast.
- Stelle sicher, dass Active Directory den beitretenden Benutzer enthält und dass der Benutzer über die richtigen Berechtigungen verfügt.
- Stelle für KDC und Active Directory, die auf Amazon Elastic Compute Cloud (Amazon EC2) gehostet werden, sicher, dass die KDC- und Active Directory-Sicherheitsgruppenregeln für eingehende Verbindungen von der Amazon EMR-Sicherheitsgruppe für den Primärknoten aus zulassen.
- Stelle für KDC und Active Directory, die außerhalb von Amazon EC2 gehostet werden, sicher, dass KDC und Active Directory Verbindungen vom Amazon EMR-Cluster, der Virtual Private Cloud (VPC) und das Subnetz zulassen.
Probleme beim Starten von Diensten wie YARN ResourceManager, Hadoop NameNode oder Spark History Server
Mit Amazon EMR kannst du eine benutzerdefinierte Konfiguration aller Anwendungen erstellen, wenn du einen Amazon EMR-Cluster startest. Diese Konfigurationen können jedoch manchmal Dienste von deinem Startvorgang an blockieren. Wenn der Dienst aufgrund eines Problems nicht gestartet werden kann, erhältst du eine Fehlermeldung.
Beispiel für eine Fehlermeldung vom Apache Spark History Server:
2022-11-26 03:34:13 +0000 Puppet (err): Systemd start for spark-history-server failed!journalctl log for spark-history-server: -- Logs begin at Sat 2022-11-26 03:27:57 UTC, end at Sat 2022-11-26 03:34:13 UTC. -- Nov 26 03:34:10 ip-192-168-1-32 systemd[1]: Starting Spark history-server... Nov 26 03:34:10 ip-192-168-1-32 spark-history-server[1076]: Starting Spark history-server (spark-history-server):[OK] Nov 26 03:34:10 ip-192-168-1-32 su[1112]: (to spark) root on none Nov 26 03:34:13 ip-192-168-1-32 systemd[1]: spark-history-server.service: control process exited, code=exited status=1 Nov 26 03:34:13 ip-192-168-1-32 systemd[1]: Failed to start Spark history-server. Nov 26 03:34:13 ip-192-168-1-32 systemd[1]: Unit spark-history-server.service entered failed state. Nov 26 03:34:13 ip-192-168-1-32 systemd[1]: spark-history-server.service failed. 2022-11-26 03:34:13 +0000 /Stage[main]/Spark::History_server/Service[spark-history-server]/ensure (err): change from 'stopped' to 'running' failed: Systemd start for spark-history-server failed! journalctl log for spark-history-server:
Gehe wie folgt vor, um diesen Art von Fehler zu beheben:
- Prüfe, welcher Dienst nicht gestartet werden konnte.
- Überprüfe deine Konfigurationseinstellungen auf Rechtschreibfehler.
- Überprüfe das Amazon S3-Protokoll am angegebenen Ort, um die Ursache des Fehlers zu ermitteln. Zum Beispiel s3://example-log-location/example-cluster-ID/node/example-primary-node-ID/applications/example-failed-application/example-failed-service.gz.
Probleme beim Herunterladen oder Installieren von Anwendungen
Wenn Amazon EMR eine Anwendung nicht installieren oder herunterladen kann, schlägt der Amazon EMR-Cluster fehl und die Bereitstellungsprotokolle sind nicht vollständig. Überprüfe das Protokoll stderr.gz, um herauszufinden, was den Fehler verursacht hat.
Beispiel für eine Fehlermeldung:
stderr.gzError Summary ------------- Disk Requirements: At least 2176MB more space needed on the / filesystem. 2022-11-26 03:18:44,662 ERROR Program: Encountered a problem while provisioning java.lang.RuntimeException: Amazon-linux-extras topics enabling or yum packages installation failed.
Um diese Art von Fehler zu beheben, erhöhe das Amazon Elastic Block Store (Amazon EBS)-Root-Volume, wenn du deinen Amazon EMR-Cluster startest.
Amazon S3-Protokolle sind nicht verfügbar
Wenn Amazon EMR Anwendungen nicht bereitstellen kann und in Amazon S3 keine Protokolle generiert wurden, erhältst du eine Fehlermeldung. Ein Netzwerkfehler könnte dazu geführt haben, dass die Amazon S3-Protokollierung fehlgeschlagen ist.
Gehe wie folgt vor, um diesen Art von Fehler zu beheben:
- Prüfe, ob du die Option Protokollierung aktiviert hast, als du Amazon EMR gestartet hast. Weitere Informationen findest unter Konfigurieren der Amazon EMR-Cluster-Protokollierung und des Debuggens.
- Wenn du ein benutzerdefiniertes AMI verwendest, suche nach Firewall-Regeln, die die erforderlichen Amazon EMR-Netzwerkeinstellungen beeinträchtigen könnten. Weitere Informationen findest du unter Arbeiten mit von Amazon EMR verwalteten Sicherheitsgruppen.
- Wenn du ein benutzerdefiniertes AMI verwendest, suche nach ausgefallenen Primärknoten. Öffne die Amazon EMR-Konsole und wähle im Navigationsbereich Hardware aus, um zu sehen, ob die Cluster Primärknoten starten können.
- Wenn du ein benutzerdefiniertes AMI verwendest, stelle sicher, dass du die bewährten Methoden befolgst. Weitere Informationen findest du unter Verwenden eines benutzerdefinierten AMI für mehr Flexibilität bei der Amazon EMR-Clusterkonfiguration.
Ähnliche Informationen
- Themen
- Analytics
- Tags
- Amazon EMR
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor 7 Monaten