Dataproc-Staging und temporäre Buckets

Wenn Sie einen Cluster erstellen, wird HDFS als Standard-Dateisystem verwendet. Sie können dieses Verhalten überschreiben, indem Sie den StandardFS als Cloud Storage-Bucket festlegen. Standardmäßig erstellt Dataproc in Ihrem Projekt auch ein Cloud Storage-Staging und einen temporären Cloud Storage-Bucket oder verwendet vorhandene von Dataproc erstellte Staging- und temporäre Buckets aus vorherigen Anfragen zur Clustererstellung.

  • Staging-Bucket: Wird zum Staging von Clusterjob-Abhängigkeiten, Job-Treiberausgabe und Clusterkonfigurationsdateien verwendet. Erhält auch eine Ausgabe vom gcloud CLI-Befehl gcloud dataproc clusters diagnose.

  • Temporärer Bucket: Wird zum Speichern sitzungsspezifischer Cluster- und Jobdaten wie Spark- und MapReduce-Verlaufsdateien verwendet.

Wenn Sie beim Erstellen eines Clusters keinen Staging- oder temporären Bucket angeben, legt Dataproc für die Staging- und temporären Buckets des Clusters einen Cloud Storage-Speicherort in US, ASIA oder EU gemäß der Compute Engine-Zone fest, in der der Cluster bereitgestellt wird. Anschließend werden diese standortspezifischen Buckets auf Projektebene erstellt und verwaltet. Von Dataproc erstellte Staging- und temporäre Buckets werden von Clustern in derselben Region gemeinsam genutzt. Beim Erstellen wird für Cloud Storage eine Aufbewahrungsdauer für vorläufiges Löschen auf 0 Sekunden festgelegt.

Der temporäre Bucket enthält sitzungsspezifische Daten und hat eine Gültigkeitsdauer von 90 Tagen. Der Staging-Bucket, der Konfigurationsdaten und Abhängigkeitsdateien enthalten kann, die von mehreren Clustern benötigt werden, hat keine TTL. Sie können jedoch eine Lebenszyklusregel auf Ihre Abhängigkeitsdateien anwenden (Dateien mit der Dateiendung „.jar“ im Staging-Bucket-Ordner), um das Entfernen der Abhängigkeitsdateien zu planen, die von Ihren Clustern nicht mehr benötigt werden.

Eigene Staging- und temporäre Buckets erstellen

Anstatt auf die Erstellung eines standardmäßigen Staging- und temporären Buckets zu warten, können Sie vorhandene Cloud Storage-Buckets angeben, die Dataproc als Staging- und temporären Bucket Ihres Clusters verwendet.

gcloud-Befehl

Führen Sie den Befehl gcloud dataproc clusters create mit den Flags --bucket und/oder --temp-bucket lokal in einem Terminalfenster oder in Cloud Shell aus, um den Staging- und/oder temporären Bucket Ihres Clusters anzugeben.

gcloud dataproc clusters create cluster-name \
    --region=region \
    --bucket=bucket-name \
    --temp-bucket=bucket-name \
    other args ...

REST API

Verwenden Sie die Felder ClusterConfig.configBucket und ClusterConfig.tempBucket in einer clusters.create-Anfrage zur Angabe der Staging- und temporären Buckets Ihres Clusters.

Console

Öffnen Sie in der Google Cloud Console die Dataproc-Seite Create a cluster (Cluster erstellen). Wählen Sie das Feld „Cluster anpassen“ aus und geben Sie dann mit dem Feld „Dateispeicher“ den Staging-Bucket des Clusters an oder wählen Sie ihn aus.

Hinweis: Derzeit kann über die Google Cloud Console kein temporärer Bucket angegeben werden.

Dataproc verwendet eine definierte Ordnerstruktur für Cloud Storage-Buckets, die Clustern zugeordnet sind. Dataproc unterstützt auch das Hinzufügen weiterer Cluster zu einem Cloud Storage-Bucket. Zum Speichern von Job-Treiberausgaben in Cloud Storage wird folgende Ordnerstruktur verwendet:

cloud-storage-bucket-name
  - google-cloud-dataproc-metainfo
    - list of cluster IDs
        - list of job IDs
          - list of output logs for a job

Sie können das gcloud-Befehlszeilentool, die Dataproc API oder die Google Cloud Console verwenden, um den Namen der Staging- und temporären Buckets eines Clusters aufzulisten.

Console

  • \Zeigen Sie die Clusterdetails, einschließlich des Namens des Staging-Buckets des Clusters, auf der Dataproc-Seite Cluster in der Google Cloud Console an.
  • Filtern Sie in der Google Cloud Console auf der Seite Cloud Storage-Browser nach Ergebnissen, die „Dataproc-temp-“ enthalten.

gcloud-Befehl

Führen Sie den gcloud dataproc clusters describe-Befehl lokal in einem Terminalfenster oder in Cloud Shell aus. Die mit dem Cluster verknüpften Staging- und temporären Buckets werden in der Ausgabe aufgeführt.

gcloud dataproc clusters describe cluster-name \
    --region=region \
...
clusterName: cluster-name
clusterUuid: daa40b3f-5ff5-4e89-9bf1-bcbfec ...
config:
    configBucket: dataproc-...
    ...
    tempBucket: dataproc-temp...

REST API

Rufen Sie clusters.get auf, um die Clusterdetails einschließlich des Namens der Staging- und temporären Buckets des Clusters aufzulisten.

{
 "projectId": "vigilant-sunup-163401",
 "clusterName": "cluster-name",
 "config": {
  "configBucket": "dataproc-...",
...
  "tempBucket": "dataproc-temp-...",
}

defaultFS

Sie können core:fs.defaultFS auf einen Bucket-Speicherort in Cloud Storage (gs://defaultFS-bucket-name) festlegen, um Cloud Storage als Standarddateisystem festzulegen. Dadurch wird auch core:fs.gs.reported.permissions festgelegt, die vom Cloud Storage-Connector zurückgegebene Berechtigung für alle Dateien auf 777.

Wenn Cloud Storage nicht als Standarddateisystem festgelegt ist, wird HDFS verwendet und das Attribut core:fs.gs.reported.permissions gibt den Standardwert 700 zurück.

gcloud dataproc clusters create cluster-name \
    --properties=core:fs.defaultFS=gs://defaultFS-bucket-name \
    --region=region \
    --bucket=staging-bucket-name \
    --temp-bucket=temp-bucket-name \
    other args ...