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.
Starten des Spark History-Servers
Mit einem Spark History-Server können Sie die Spark-Protokolle in Ihrer eigenen Infrastruktur visualisieren. Sie können dieselben Visualisierungen in der AWS Glue Konsole für AWS Glue Jobausführungen auf Versionen AWS Glue 4.0 oder höher sehen, wobei die Logs im Standardformat (und nicht im Legacy-Format) generiert wurden. Weitere Informationen finden Sie unter Überwachen von Aufgaben über die Apache-Spark-Webbenutzeroberfläche.
Sie können den Spark-Verlaufsserver mithilfe einer AWS CloudFormation Vorlage starten, die den Server auf einer EC2 Instance hostet, oder ihn lokal mit Docker starten.
Themen
Den Spark-History-Server starten und die Spark-Benutzeroberfläche anzeigen mit AWS CloudFormation
Sie können eine AWS CloudFormation Vorlage verwenden, um den Apache Spark-History-Server zu starten und die Spark-Weboberfläche anzuzeigen. Diese Vorlagen sind Beispiele, die Sie entsprechend Ihren Anforderungen anpassen sollten.
Um den Spark-Geschichtsserver zu starten und die Spark-Benutzeroberfläche anzuzeigen, verwenden Sie AWS CloudFormation
-
Wählen Sie eine der Schaltflächen Launch Stack (Stack starten) in der folgenden Tabelle aus. Dadurch wird der Stack auf der AWS CloudFormation Konsole gestartet.
-
Wählen Sie auf der Seite Specify template (Vorlage angeben) die Option Next (Weiter) aus.
-
Geben Sie auf der Seite Specify stack details (Stack-Details angeben) den Wert für Stack name (Stack-Name) ein. Geben Sie zusätzliche Informationen unter Parameter ein.
-
Konfiguration der Spark-Benutzeroberfläche
Geben Sie die folgenden Informationen ein:
-
IP-Adressbereich – Der IP-Adressbereich, der zum Anzeigen der Spark-Benutzeroberfläche verwendet werden kann. Wenn Sie den Zugriff in Bezug auf einen bestimmten IP-Adressbereich einschränken möchten, sollten Sie einen benutzerdefinierten Wert verwenden.
-
History-Server-Port – Der Port für die Spark-Benutzeroberfläche. Sie können den Standardwert verwenden.
-
Verzeichnis der Ereignisprotokolle — Wählen Sie den Speicherort aus, an dem Spark-Ereignisprotokolle gespeichert werden AWS Glue Job- oder Entwicklungsendpunkte. Für das Pfadschema der Ereignisprotokolle müssen Sie
s3a://
verwenden. -
Spark-Package-Standort – Sie können den Standardwert verwenden.
-
KeyStore-Pfad – SSL/TLS-KeyStore-Pfad für HTTPS. Wenn Sie eine benutzerdefinierte Schlüsselspeicherdatei verwenden möchten, können Sie den S3-Pfad
s3://path_to_your_keystore_file
hier angeben. Wenn Sie diesen Parameter leer lassen, wird ein selbstsignierter, zertifikatbasierter Schlüsselspeicher generiert und verwendet. -
KeyStore-Passwort – Geben Sie SSL/TLS-KeyStore-Passwort für HTTPS ein.
-
-
EC2 Konfiguration der Instanz
Geben Sie die folgenden Informationen ein:
-
Instance-Typ — Der Typ der EC2 Amazon-Instance, die den Spark-History-Server hostet. Da mit dieser Vorlage eine EC2 Amazon-Instance in Ihrem Konto gestartet wird, werden die EC2 Amazon-Kosten Ihrem Konto separat belastet.
-
Neueste AMI-ID – Die AMI-ID von Amazon Linux 2 für die Spark-Verlaufsserver-Instance. Sie können den Standardwert verwenden.
-
VPC ID – Die Virtual Private Cloud (VPC)-ID für die Spark-History-Server-Instance. Sie können alle in Ihrem Konto VPCs verfügbaren Optionen verwenden. Die Verwendung einer Standard-VPC mit einer Standard-Netzwerk-ACL wird nicht empfohlen. Weitere Informationen finden Sie unter Default VPC and Default Subnets (Standard-VPC und Standard-Subnetze) und unter Creating a VPC (Erstellen einer VPC) im Amazon-VPC-Benutzerhandbuch.
-
Subnetz-ID – Die ID für die Spark-Verlaufsserver-Instance. Sie können jedes Subnetz in Ihrer VPC verwenden. Sie müssen das Subnetz von Ihrem Client aus erreichen können. Wenn Sie über das Internet auf das Subnetz zugreifen möchten, müssen Sie ein öffentliches Subnetz mit dem Internet-Gateway in der Routing-Tabelle verwenden.
-
-
Wählen Sie Weiter.
-
-
Wählen Sie auf der Seite Stack-Optionen konfigurieren die Option Weiter aus, um anhand der aktuellen Benutzeranmeldedaten zu bestimmen, wie Ressourcen im Stack erstellt, geändert oder gelöscht werden CloudFormation können. Sie können im Abschnitt Berechtigungen auch eine Rolle angeben, die anstelle der aktuellen Benutzerberechtigungen verwendet werden soll, und dann Weiter wählen.
-
Überprüfen Sie die Vorlage auf der Seite Review (Prüfen).
Wählen Sie Ich bestätige, dass AWS CloudFormation möglicherweise IAM-Ressourcen erstellt werden, und wählen Sie dann Stack erstellen aus.
-
Warten Sie, bis der Stack erstellt wurde.
-
Öffnen Sie die Registerkarte Outputs (Ausgaben).
-
Kopieren Sie die URL von SparkUiPublicUrl, wenn Sie ein öffentliches Subnetz verwenden.
-
Kopieren Sie die URL von SparkUiPrivateUrl, wenn Sie ein privates Subnetz verwenden.
-
-
Öffnen Sie einen Webbrowser und fügen Sie die URL ein. Auf diese Weise können Sie über HTTPS auf dem angegebenen Port auf den Server zugreifen. Ihr Browser erkennt möglicherweise nicht das Zertifikat des Servers. In diesem Fall müssen Sie den Schutz des Servers außer Kraft setzen und trotzdem fortfahren.
Starten des Spark History-Servers und Anzeigen der Spark-Benutzeroberfläche über Docker
Wenn Sie lokalen Zugriff bevorzugen (ohne eine EC2 Instanz für den Apache Spark-Geschichtsserver zu haben), können Sie auch Docker verwenden, um den Apache Spark-Geschichtsserver zu starten und die Spark-Benutzeroberfläche lokal anzuzeigen. Diese Dockerfile ist ein Beispiel, das Sie entsprechend Ihren Anforderungen anpassen sollten.
Voraussetzungen
Informationen zum Installieren von Docker auf Ihrem Laptop finden Sie in der Docker Engine-Community
So starten Sie den Spark History-Server und zeigen die Spark-Benutzeroberfläche lokal über Docker an
-
Laden Sie Dateien herunter von GitHub.
Laden Sie das Dockerfile herunter und von
pom.xml
AWS Glue Codebeispiele. -
Bestimmen Sie, ob Sie Ihre Benutzeranmeldeinformationen oder Verbundbenutzeranmeldeinformationen für den Zugriff auf AWS verwenden möchten.
-
Um die aktuellen Benutzeranmeldedaten für den Zugriff zu verwenden AWS, rufen Sie die Werte ab, die für
AWS_ACCESS_KEY_ID
undAWS_SECRET_ACCESS_KEY
imdocker run
Befehl verwendet werden sollen. Weitere Informationen finden Sie unter Verwalten der Zugriffsschlüssel für IAM-Benutzer im -IAM-Benutzerhandbuch. -
Um SAML 2.0-Verbundbenutzer für den Zugriff zu verwenden AWS, rufen Sie die Werte für
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
, und ab.AWS_SESSION_TOKEN
Weitere Informationen finden Sie unter Anfordern von temporären Sicherheitsanmeldeinformationen
-
-
Bestimmen Sie den Speicherort Ihres Ereignisprotokollverzeichnisses für die Verwendung im
docker run
-Befehl. -
Erstellen Sie das Docker-Image mit den Dateien im lokalen Verzeichnis unter Verwendung des Namens
glue/sparkui
, und das Taglatest
aus.$ docker build -t glue/sparkui:latest .
-
Erstellen und starten Sie den Docker-Container.
Verwenden Sie in den folgenden Befehlen die zuvor in den Schritten 2 und 3 beschafften Werte.
-
Verwenden Sie einen Befehl wie den folgenden, um den Docker-Container mit Ihren Benutzeranmeldeinformationen zu erstellen
docker run -itd -e SPARK_HISTORY_OPTS="$SPARK_HISTORY_OPTS -Dspark.history.fs.logDirectory=s3a://
path_to_eventlog
-Dspark.hadoop.fs.s3a.access.key=AWS_ACCESS_KEY_ID
-Dspark.hadoop.fs.s3a.secret.key=AWS_SECRET_ACCESS_KEY
" -p 18080:18080 glue/sparkui:latest "/opt/spark/bin/spark-class org.apache.spark.deploy.history.HistoryServer" -
Um den Docker-Container mit temporären Anmeldeinformationen zu erstellen, verwenden Sie
org.apache.hadoop.fs.s3a.TemporaryAWSCredentialsProvider
als Anbieter und geben Sie die in Schritt 2 beschafften Anmeldeinformationen an. Weitere Informationen finden Sie unter Using Session Credentials with Temporary AWSCredentials Providerin der Dokumentation Hadoop: Integration with Amazon Web Services. docker run -itd -e SPARK_HISTORY_OPTS="$SPARK_HISTORY_OPTS -Dspark.history.fs.logDirectory=s3a://
path_to_eventlog
-Dspark.hadoop.fs.s3a.access.key=AWS_ACCESS_KEY_ID
-Dspark.hadoop.fs.s3a.secret.key=AWS_SECRET_ACCESS_KEY
-Dspark.hadoop.fs.s3a.session.token=AWS_SESSION_TOKEN
-Dspark.hadoop.fs.s3a.aws.credentials.provider=org.apache.hadoop.fs.s3a.TemporaryAWSCredentialsProvider" -p 18080:18080 glue/sparkui:latest "/opt/spark/bin/spark-class org.apache.spark.deploy.history.HistoryServer"
Anmerkung
Diese Konfigurationsparameter stammen aus dem Hadoop-AWS Modul
. Sie müssen möglicherweise je nach Anwendungsfall eine spezielle Konfiguration vornehmen. Zum Beispiel: Benutzer in isolierten Regionen müssen den spark.hadoop.fs.s3a.endpoint
konfigurieren. -
-
Öffnen Sie
http://localhost:18080
in Ihrem Browser, um die Spark-Benutzeroberfläche lokal anzuzeigen.