Cuando creas un clúster, HDFS se usa como el sistema de archivos predeterminado. Puedes anular este comportamiento; para ello, configura defaultFS como un bucket de Cloud Storage bucket. De forma predeterminada, Managed Service para Apache Spark también crea una etapa de pruebas de Cloud Storage y un bucket temporal de Cloud Storage en tu proyecto o vuelve a usar los buckets temporales y de etapa de pruebas existentes creados por Managed Service para Apache Spark de solicitudes anteriores de creación de clústeres.
Bucket de staging: se usa para almacenar en etapa intermedia las dependencias de trabajos de clústeres, los resultados del controlador de trabajos, y los archivos de configuración de clústeres. También recibe resultados de la recopilación de datos de diagnóstico de instantáneas.
Bucket temporal: se usa para almacenar datos de trabajos y clústeres efímeros, como los archivos de historial de Spark y MapReduce. También almacena datos de diagnóstico de puntos de control recopilados durante el ciclo de vida de un clúster.
Si no especificas un bucket temporal o de etapa de pruebas cuando creas un clúster, Managed Service para Apache Spark establece una Ubicación de Cloud Storage en EE.UU., ASIA, o UE para los buckets temporales y de etapa de pruebas de tu clúster según la zona de Compute Engine en la que se implementa tu clúster y, luego, crea y administra estos buckets por ubicación a nivel de proyecto. Los buckets temporales y de etapa de pruebas creados por Managed Service para Apache Spark se comparten entre los clústeres de la misma región y se crean con una duración de retención de eliminación no definitiva de Cloud Storage establecida en 0 segundos. Si especificas tus propios buckets temporales y de etapa de pruebas, considera ajustar la retención de eliminación no definitiva para reducir los cargos de almacenamiento que generan los objetos borrados de forma no definitiva.
El bucket temporal contiene datos efímeros y tiene un TTL de 90 días. El bucket de etapa de pruebas, que puede contener datos de configuración y archivos de dependencia que necesitan varios clústeres, no tiene un TTL. Sin embargo, puedes aplicar una regla de ciclo de vida a tus archivos de dependencia (archivos con una extensión de nombre de archivo ".jar" ubicada en la carpeta del bucket de etapa de pruebas) para programar la eliminación de tus archivos de dependencia cuando tus clústeres ya no los necesiten.
Crea tus propios buckets temporales y de etapa de pruebas
En lugar de depender de la creación de un bucket temporal y de staging predeterminado, puedes especificar los buckets de Cloud Storage existentes que Managed Service para Apache Spark usará como bucket temporal y de etapa de pruebas del clúster.
Comando de gcloud
Ejecuta el comando gcloud dataproc clusters create con las marcas --bucket o --temp-bucket de forma local en una ventana de la terminal o en Cloud Shell para especificar la etapa de pruebas o el bucket temporal de tu clúster.
gcloud dataproc clusters create cluster-name \ --region=region \ --bucket=bucket-name \ --temp-bucket=bucket-name \ other args ...
API de REST
Usa los campos ClusterConfig.configBucket y ClusterConfig.tempBucket en una solicitud clusters.create para especificar los depósitos temporales y de etapa de pruebas de tu clúster.
Console
En la Google Cloud consola, abre la página Crear un clúster de Managed Service para Apache Spark. Selecciona el panel Personalizar clúster y, luego, usa el campo Almacenamiento de archivos para especificar o seleccionar el bucket de etapa de pruebas del clúster.
Nota: Por el momento, no se admite la especificación de un bucket temporal con la Google Cloud consola no es compatible.
Managed Service para Apache Spark usa una estructura de carpetas definida para los buckets de Cloud Storage adjuntos a los clústeres. Managed Service para Apache Spark también admite adjuntar más de un clúster a un bucket de Cloud Storage. Se usa la siguiente estructura de carpetas para guardar el resultado del controlador del trabajo en Cloud Storage:
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 de gcloud, la API de Managed Service para Apache Spark o
Google Cloud la consola para enumerar el nombre de los buckets temporales y de etapa de pruebas de un clúster.
Console
- \Visualiza los detalles del clúster, incluido el nombre del bucket de etapa de pruebas del clúster, en la página Clústeres de Managed Service para Apache Spark en la Google Cloud consola.
- En la página Google Cloud consola Navegador de Cloud Storage, filtra los resultados que contengan "dataproc-temp-".
Comando de gcloud
Ejecuta el
gcloud dataproc clusters describe
comando de forma local en una ventana de la terminal o en
Cloud Shell.
Los depósitos de estapas de pruebas y temporales asociados con tu clúster se enumeran en el resultado.
gcloud dataproc clusters describe cluster-name \
--region=region \
...
clusterName: cluster-name
clusterUuid: daa40b3f-5ff5-4e89-9bf1-bcbfec ...
config:
configBucket: dataproc-...
...
tempBucket: dataproc-temp...
API de REST
Llama a clusters.get para ver una lista de los detalles del clúster, incluido el nombre de los buckets temporales y de etapa de pruebas del clúster.
{
"projectId": "vigilant-sunup-163401",
"clusterName": "cluster-name",
"config": {
"configBucket": "dataproc-...",
...
"tempBucket": "dataproc-temp-...",
}
defaultFS
Puedes configurar core:fs.defaultFS en una ubicación de bucket en Cloud Storage (gs://defaultFS-bucket-name) para configurar Cloud Storage como el sistema de archivos predeterminado. Esto también establece core:fs.gs.reported.permissions, el permiso informado que muestra el conector de Cloud Storage para todos los archivos, en 777.
Si Cloud Storage no está configurado como el sistema de archivos predeterminado, se usará HDFS y la propiedad core:fs.gs.reported.permissions mostrará 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 ...