Cuando creas un clúster, HDFS se usa como sistema de archivos predeterminado. Puedes anular este comportamiento configurando el sistema de archivos predeterminado como un segmento de Cloud Storage. De forma predeterminada, Dataproc también crea un segmento de desarrollo por fases de Cloud Storage y un segmento temporal de Cloud Storage en tu proyecto, o bien reutiliza los segmentos de desarrollo por fases y temporales creados por Dataproc en solicitudes de creación de clústeres anteriores.
Segmento de staging: se usa para organizar las dependencias de tareas del clúster, la salida del controlador de tareas y los archivos de configuración del clúster. También recibe la salida de la recogida de datos de diagnóstico de la instantánea.
Segmento temporal: se usa para almacenar datos efímeros de clústeres y trabajos, como archivos del historial de Spark y MapReduce. También almacena datos de diagnóstico de puntos de control recogidos durante el ciclo de vida de un clúster.
Si no especificas un segmento de almacenamiento provisional o temporal al crear un clúster, Dataproc asigna una ubicación de Cloud Storage en EE. UU., Asia o la UE a los segmentos de almacenamiento provisional y temporal del clúster, según la zona de Compute Engine en la que se haya implementado el clúster. A continuación, crea y gestiona estos segmentos a nivel de proyecto por ubicación. Los segmentos de desarrollo por fases y temporales creados por Dataproc se comparten entre los clústeres de la misma región y se crean con una duración de conservación de eliminación lógica de Cloud Storage de 0 segundos.
El contenedor temporal contiene datos efímeros y tiene un TTL de 90 días. El bucket de almacenamiento provisional, que puede contener datos de configuración y archivos de dependencia que necesitan varios clústeres, no tiene un TTL. Sin embargo, puede aplicar una regla de ciclo de vida a sus archivos de dependencia (archivos con la extensión de nombre de archivo ".jar" ubicados en la carpeta del segmento de almacenamiento provisional) para programar la eliminación de sus archivos de dependencia cuando sus clústeres ya no los necesiten.
Crear tus propios segmentos de almacenamiento provisional y temporal
En lugar de depender de la creación de un segmento de desarrollo por fases y un segmento temporal predeterminados, puedes especificar segmentos de Cloud Storage que Dataproc usará como segmentos de desarrollo por fases y temporales de tu clúster.
Comando gcloud
Ejecuta el comando gcloud dataproc clusters create
con las marcas --bucket
y/o --temp-bucket
de forma local en una ventana de terminal o en Cloud Shell para especificar el segmento de almacenamiento provisional o temporal de tu clúster.
gcloud dataproc clusters create cluster-name \ --region=region \ --bucket=bucket-name \ --temp-bucket=bucket-name \ other args ...
API REST
Usa los campos ClusterConfig.configBucket
y ClusterConfig.tempBucket
en una solicitud clusters.create para especificar los contenedores de almacenamiento provisional y temporal de tu clúster.
Consola
En la consola de Google Cloud , abre la página de Dataproc Crear un clúster. Selecciona el panel Personalizar clúster y, a continuación, usa el campo Almacenamiento de archivos para especificar o seleccionar el segmento de almacenamiento provisional del clúster.
Nota: Actualmente, no se puede especificar un contenedor temporal mediante la consola Google Cloud .
Dataproc usa una estructura de carpetas definida para los segmentos de Cloud Storage asociados a los clústeres. Dataproc también permite asociar más de un clúster a un segmento de Cloud Storage. La estructura de carpetas que se usa para guardar la salida del controlador de tareas en Cloud Storage es la siguiente:
cloud-storage-bucket-name - google-cloud-dataproc-metainfo - list of cluster IDs - list of job IDs - list of output logs for a job
Puedes usar la herramienta de línea de comandos gcloud
, la API de Dataproc o la consolaGoogle Cloud para consultar el nombre de los segmentos de almacenamiento provisional y temporal de un clúster.
Consola
- \Consulta los detalles del clúster, incluido el nombre del segmento de almacenamiento provisional del clúster, en la página Clústeres de Dataproc de la consola de Google Cloud .
- En la página Navegador de Cloud Storage de la Google Cloud consola, filtra los resultados que contengan "dataproc-temp-".
Comando gcloud
Ejecuta el comando
gcloud dataproc clusters describe
de forma local en una ventana de terminal o en
Cloud Shell.
Los contenedores de almacenamiento provisional y temporal asociados a tu clúster se muestran en la salida.
gcloud dataproc clusters describe cluster-name \ --region=region \ ... clusterName: cluster-name clusterUuid: daa40b3f-5ff5-4e89-9bf1-bcbfec ... config: configBucket: dataproc-... ... tempBucket: dataproc-temp...
API REST
Llama a clusters.get para enumerar los detalles del clúster, incluidos los nombres de los buckets de almacenamiento provisional y temporal del clúster.
{ "projectId": "vigilant-sunup-163401", "clusterName": "cluster-name", "config": { "configBucket": "dataproc-...", ... "tempBucket": "dataproc-temp-...", }
defaultFS
Puedes asignar core:fs.defaultFS
a una ubicación de un segmento de Cloud Storage (gs://defaultFS-bucket-name
) para definir Cloud Storage como sistema de archivos predeterminado. También se asigna el valor 777
a core:fs.gs.reported.permissions
, el permiso devuelto por el conector de Cloud Storage para todos los archivos.
Si Cloud Storage no se define como sistema de archivos predeterminado, se usará HDFS y la propiedad core:fs.gs.reported.permissions
devolverá 700
, el valor predeterminado.
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 ...