Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

Dataproc-Verlaufsverlaufsserver

Übersicht

Wenn Dataproc-Cluster gelöscht wurden, möchten Nutzer sich oft Jobverlaufsdateien für Diagnose- oder andere Zwecke ansehen. Der Dataproc-Verlaufsserver (PHS) bietet eine UI für den Aufruf des Jobverlaufs für Jobs, die in aktiven und gelöschten Dataproc-Clustern ausgeführt werden.

Der Persistent History Server wird in einem Dataproc-Cluster mit einzelnem Knoten ausgeführt und speichert Dateien mit Jobverlauf in Cloud Storage. Außerdem unterstützt er MapReduce-, Spark- und Pig-Jobs. Dieses Feature ist in der Dataproc-Image-Version 1.4-debian10 und höher verfügbar.

Jobcluster einrichten

Sie geben das folgende Flag und die Clusterattribute an, wenn Sie einen Dataproc-Jobcluster erstellen, in dem Joblogs so gespeichert werden, dass sie von einem Persistent History Server-Cluster aufgerufen und angezeigt werden können.

  • --enable-component-gateway: Erforderliches Flag. Mit diesem Flag muss das Component Gateway aktiviert werden.
  • dataproc:job.history.to-gcs.enabled: Erforderliches Clusterattribut. Dieses Attribut muss auf „true“ gesetzt sein, um den Jobverlaufsspeicher in Cloud Storage zu aktivieren.
  • spark:spark.history.fs.logDirectory und spark:spark.eventLog.dir Optionale Clusterattribute: Diese Flags geben den Speicherort zum Schreiben von Spark-Jobverlauf- und -Ereignislogs an. Bei Verwendung müssen beide Flags festgelegt werden und auf Verzeichnisse innerhalb desselben Buckets verweisen.
    Beispielattribute:
    spark:spark.history.fs.logDirectory=gs://bucket-name/directory-name/spark-job-history,
    spark:spark.eventLog.dir=gs://bucket-name/directory-name/spark-job-history
    
  • mapred:mapreduce.jobhistory.intermediate-done-dir und mapred:mapreduce.jobhistory.done-dir: Optionale Clusterattribute: Diese Flags geben den Cloud Storage-Speicherort an, um Zwischen- und endgültige MapReduce-Jobverlaufsdateien zu schreiben. Bei Verwendung müssen beide Flags festgelegt werden und auf Verzeichnisse innerhalb desselben Buckets verweisen. Der Zwischenspeicherort mapreduce.jobhistory.intermediate-done-dir ist vorübergehender Speicher. Die Zwischendateien werden an den Standort mapreduce.jobhistory.done-dir verschoben, wenn der MapReduce-Job abgeschlossen ist.
    Beispielattribute:
    mapred:mapreduce.jobhistory.done-dir=gs://bucket-name/directory-name/mapreduce-job-history/done,
    mapred:mapreduce.jobhistory.intermediate-done-dir=gs://bucket-name/directory-name/mapreduce-job-history/intermediate-done
    
  1. Führen Sie den Befehl gcloud dataproc clusters create aus, um einen Jobcluster zu erstellen. Der Cluster muss mit Image 1.4-debian10 oder höher erstellt werden. Hinweis: Zur besseren Lesbarkeit werden die Wert der Flags --property in separaten Zeilen angezeigt. Wenn Sie den Befehl ausführen, müssen alle durch Kommas getrennten Werte für das Flag --property in einer Zeile angegeben werden.
    gcloud dataproc clusters create cluster-name \
        --region=region \
        --image-version=1.4-debian10 \
        --enable-component-gateway \
        --properties='dataproc:job.history.to-gcs.enabled=true,
    spark:spark.history.fs.logDirectory=gs://bucket-name/directory-name/spark-job-history,
    spark:spark.eventLog.dir=gs://bucket-name/directory/spark-job-history,
    mapred:mapreduce.jobhistory.done-dir=gs://bucket-name/directory/mapreduce-job-history/done,
    mapred:mapreduce.jobhistory.intermediate-done-dir=gs://bucket-name/directory-name/mapreduce-job-history/intermediate-done'
    
gcloud dataproc clusters create cluster-name \
    --region=region \
    --image-version=1.4-debian10 \
    --enable-component-gateway \
    --properties='dataproc:job.history.to-gcs.enabled=true'

Wenn Sie den oben dargestellten vereinfachten Befehl verwenden, werden Jobverlaufsdateien im Dataproc-Temporäre Bucket in den Standardverzeichnissen /spark-job-history, /mapreduce-job-history/done, und /mapreduce-job-history/intermediate-done. Der Cloud Storage-Speicherort des temporären Buckets wird in der Ausgabe des Befehls gcloud dataproc clusters describe cluster-name --region=region aufgeführt. Der Cloud Storage-Speicherort von Jobverlaufsdateien wird auch in den Dateien /etc/spark/conf/spark-defaults.conf und /etc/hadoop/conf/mapred-site.xml des Clusters aufgeführt.

Beispiele nach SSH-Verbindung herstellen zu dem Masterknoten des Jobclusters:

cat /etc/spark/conf/spark-defaults.conf
...
spark.history.fs.logDirectory=gs://temp-bucket/spark-job-history
spark.eventLog.dir=gs://temp-bucket/spark-job-history
cat /etc/hadoop/conf/mapred-site.xml
...
<property>
  <name>mapreduce.jobhistory.done-dir</name>
  <value>gs://temp-bucket/mapreduce-job-history/done</value>
</property>
<property>
  <name>mapreduce.jobhistory.intermediate-done-dir</name>
  <value>gs://temp-bucket/mapreduce-job-history/done_intermediate</value>
</property>

Persistent History Server einrichten

Geben Sie beim Erstellen eines PHS-Einzel-Knoten-Clusters die folgenden Flag- und Clusterattribute an:

  • --enable-component-gateway: Erforderliches Flag. Mit diesem Flag muss das Component Gateway aktiviert werden.
  • spark:spark.history.fs.logDirectory: Erforderliches Clusterattribut zum Aktivieren des persistenten Spark-Jobverlaufs. Dieses Attribut gibt den Cloud Storage-Bucket und die Verzeichnise an, in denen die PHS auf Spark-Jobverlaufslogs zugreifen soll, die von Jobclustern geschrieben wurden (siehe Jobcluster einrichten). Wenn Sie keine bestimmten Bucket-Verzeichnisse angeben, verwenden Sie Sternchen als Platzhalter (z. B. gs://bucket-name/*/spark-job-history), damit der PHS-Server mit mehreren Verzeichnissen im angegebenen Bucket übereinstimmen kann, die in verschiedene Jobcluster geschrieben werden (aber Weitere Informationen finden Sie unter Kaufbereitschaft berücksichtigen: Mid-Path-Platzhalter verwenden.
  • mapred:mapreduce.jobhistory.read-only.dir-pattern: Erforderliche Clustereigenschaft zum Aktivieren des nichtflüchtigen MapReduce-Jobverlaufs. Dieses Attribut gibt die Cloud Storage-Bucket-Verzeichnisse an, in denen die PHS auf MapReduce-Jobverlaufslogs zugreifen kann, die von Jobclustern geschrieben wurden (siehe Jobcluster einrichten). Wenn Sie keine bestimmten Bucket-Verzeichnisse angeben, verwenden Sie Sternchen als Platzhalter, z. B. gs://bucket-name/*/mapreduce-job-history/done, damit der PHS-Server mit mehreren Verzeichnissen im angegebenen Bucket übereinstimmen kann, die von verschiedenen Job-Clustern (siehe Verwendung von Mid-Path-Platzhaltern).
  1. Führen Sie den Befehl gcloud dataproc clusters create aus, um einen Dataproc-SCS-Cluster mit einem Knoten zu erstellen.
    gcloud dataproc clusters create cluster-name \
        --single-node \
        --region=region \
        --image-version=1.4-debian10 \
        --enable-component-gateway \
        --properties='spark:spark.history.fs.logDirectory=gs://bucket-name/*/spark-job-history,mapred:mapreduce.jobhistory.done-dir=gs://bucket-name/*/mapreduce-job-history/done'
    

Jobverlaufsdateien aufrufen

  1. Rufen Sie in der Cloud Console die Seite PHS-einzelne Knoten-Clusterdetails auf und dann klicken Sie auf den Tab "Weboberflächen".

  2. Klicken Sie auf "MapReduce-Jobverlauf" oder "Spark-History Server", um die UIs für MapReduce und Spark-Jobverlauf aufzurufen.

    Beispiel:

    Der folgende Screenshot zeigt die UI des PHS-History Servers mit Links zu Spark-Jobs, die auf job-cluster-1 und job-cluster-2 ausgeführt werden, nachdem die spark.history.fs.logDirectory und spark:spark.eventLog.dir der Jobcluster erstellt wurden wie folgt und die spark.history.fs.logDirectory-Speicherorte des PHS-Clusters:

    job-cluster-1 gs://example-cloud-storage-bucket/job-cluster-1/spark-job-history
    job-cluster-2 gs://example-cloud-storage-bucket/job-cluster-2/spark-job-history
    phs-cluster gs://example-cloud-storage-bucket/*/spark-job-history