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. Von Standardmäßig erstellt Dataproc auch ein Cloud Storage-Staging und Temporärer Cloud Storage-Bucket in Ihrem Projekt oder wiederverwendet vorhandene Von Dataproc erstellte Staging- und temporäre Buckets aus dem vorherigen Cluster Erstellungsanfragen.

  • Staging-Bucket: Wird zum Staging von Clusterjob-Abhängigkeiten, Job-Treiberausgabe und Clusterkonfigurationsdateien verwendet. Erhält auch eine Ausgabe von der gcloud CLI 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, Dataproc legt einen Cloud Storage-Speicherort in US, ASIA, oder EU für die Staging- und temporären Buckets Ihres Clusters entsprechend der Compute Engine-Zone, in der Ihr Cluster bereitgestellt ist, erstellt und verwaltet diese standortspezifischen Buckets auf Projektebene. Von Dataproc erstellte Staging- und temporäre Buckets die von Clustern in derselben Region gemeinsam genutzt werden und mit einem Cloud Storage Aufbewahrung vorläufiger Löschung Dauer auf 0 Sekunden festgelegt.

Der temporäre Bucket enthält sitzungsspezifische Daten und hat eine Gültigkeitsdauer von 90 Tagen. Den Staging-Bucket, der Konfigurationsdaten enthalten kann Abhängigkeitsdateien, die von mehreren Clustern benötigt werden, hat keine TTL. Sie können jedoch eine Lebenszyklusregel auf Abhängigkeitsdateien (Dateien mit der Dateiendung „.jar“, die sich im Staging-Bucket-Ordner befinden) um das Entfernen Ihrer Abhängigkeitsdateien zu planen, wenn diese nicht mehr die von Ihren Clustern 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 Dataproc in der Google Cloud Console. Cluster erstellen Seite. 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 können Sie mit der Google Cloud Console einen temporären Bucket angeben. wird nicht unterstützt.

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 Google Cloud Console zum Auflisten des Namens der Staging- und temporären Buckets eines Clusters.

Console

  • \Clusterdetails wie den Namen des Staging-Buckets des Clusters im Dataproc-Cluster in der Google Cloud Console.
  • In der Google Cloud Console Cloud Storage-Browser Ergebnisse filtern, 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 ...