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 einen Cloud Storage-Staging-Bucket und einen temporären Cloud Storage-Bucket oder verwendet von Dataproc erstellte Staging- und temporäre Buckets aus vorherigen Anfragen zur Clustererstellung wieder.

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

  • 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 Ihres Clusters einen Cloud Storage-Speicherort in US, ASIA oder EU gemäß der Compute Engine-Zone fest, in der Ihr Cluster bereitgestellt wird. Anschließend erstellt und verwaltet dieser standortspezifische Buckets diese Buckets auf Projektebene. Von Dataproc erstellte Staging- und temporäre Buckets werden von Clustern in derselben Region gemeinsam genutzt.

Der temporäre Bucket enthält sitzungsspezifische Daten und hat eine TTL 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 Ordner des Staging-Buckets), um das Entfernen der Abhängigkeitsdateien zu planen, wenn sie 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

Rufen Sie in der Google Cloud Console die Dataproc-Seite Cluster erstellen auf. 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 ein temporärer Bucket über die Google Cloud Console nicht 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-Buckets und der temporären Buckets eines Clusters aufzulisten.

Console

  • \Clusterdetails, einschließlich des Namens des Staging-Buckets des Clusters, auf der Dataproc-Seite Cluster in der Google Cloud Console ansehen.
  • Filtern Sie auf der Seite Cloud Storage-Browser der Google Cloud Console die Ergebnisse, 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 über das Attribut core:fs.gs.reported.permissions wird der Standardwert 700 zurückgegeben.

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 ...