Dataproc-Staging und temporäre Buckets

Beim Erstellen eines Clusters wird HDFS als Standarddateisystem verwendet. Sie können dieses Verhalten überschreiben, indem Sie defaultFS als Cloud Storage bucket festlegen. Dataproc erstellt standardmäßig auch ein Cloud Storage-Staging und einen temporären Cloud Storage-Bucket in Ihrem Projekt oder verwendet vorhandene, von Dataproc erstellte Staging- und temporäre Buckets aus vorherigen Clustererstellungsanfragen.

  • Staging-Bucket: Wird zum Staging von Clusterjob-Abhängigkeiten, Job-Treiberausgabe und Clusterkonfigurationsdateien verwendet. Es wird auch eine Ausgabe vom Cloud SDK-Befehl gcloud dataproc clusters diagnose empfangen.

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

Wenn Sie kein Staging oder keinen temporären Bucket angeben, legt Dataproc einenCloud Storage-Speicherort in den USA, ASIEN oder der EU für die Staging- und temporären Buckets Ihres Clusters fest, entsprechend der Compute Engine-Zone, in der Ihr Cluster bereitgestellt wird. Danach werden diese Buckets auf Projektebene pro Speicherort erstellt und verwaltet. Von Dataproc erstellte Staging- und temporäre Buckets werden von Clustern in derselben Region gemeinsam genutzt. Standardmäßig hat ein temporärer Bucket eine TTL von 90 Tagen.

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 Cloud Console die Dataproc-Seite 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 wird die Angabe eines temporären Buckets mithilfe der Cloud Console 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 mit dem gcloud-Befehlszeilentool, der Dataproc API oder der Google Cloud Console den Namen des Staging- und des temporären Buckets eines Clusters auflisten.

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-...",
}

Console

Rufen Sie in der Cloud Console auf der Dataproc-Seite Cluster die Clusterdetails auf, einschließlich des Namens des Staging-Buckets des Clusters.

Hinweis: Die Konsolenansicht des temporären Buckets wird derzeit nicht unterstützt.

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. Außerdem wird core:fs.gs.reported.permissions, die vom Cloud Storage-Connector für alle Dateien zurückgegebene Berechtigung, auf 777 festgelegt. Wenn Cloud Storage nicht als Standarddateisystem festgelegt ist, wird HDFS verwendet. Das Attribut core:fs.gs.reported.permissions gibt dann 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 ...