Se usó la API de Cloud Translation para traducir esta página.
Switch to English

Configurar Dataproc Hub

Dataproc Hub es un servidor de Jupyterhub personalizado. Los administradores configuran y crean instancias de Dataproc Hub que pueden generar clústeres de Dataproc de un solo usuario para alojar entornos de notebook de Jupyter y JupyterLab (consulta Usa Dataproc Hub).

Objetivos

  1. Define una configuración de clúster de Dataproc (o usa uno de los archivos de configuración predefinidos).

  2. Configura las variables de entorno de la instancia de Dataproc Hub.

  3. Crea una instancia de Dataproc Hub. .

Antes de comenzar

Si aún no lo hiciste, crea un proyecto de Google Cloud y un bucket de Cloud Storage.

  1. Configura el proyecto

    1. Accede a tu Cuenta de Google.

      Si todavía no tienes una cuenta, regístrate para obtener una nueva.

    2. En la página del selector de proyectos de Google Cloud Console, selecciona o crea un proyecto de Google Cloud.

      Ir a la página del selector de proyectos

    3. Asegúrate de que la facturación esté habilitada para tu proyecto de Cloud. Descubre cómo confirmar que tienes habilitada la facturación en un proyecto.

    4. Habilita las API de Dataproc, Compute Engine, and Cloud Storage.

      Habilita las API

    5. Instala e inicializa el SDK de Cloud.

  2. Crea un depósito de Cloud Storage en tu proyecto para conservar los datos que se usan en este instructivo.

    1. En Cloud Console, ve a la página Navegador de Cloud Storage.

      Ir a la página Navegador de Cloud Storage

    2. Haz clic en Crear depósito.
    3. En el diálogo Crear bucket, especifica los siguientes atributos:
    4. Haz clic en Crear.

Define una configuración de clústeres

Una instancia de Dataproc Hub crea un clúster a partir de los valores de configuración contenidos en un archivo de configuración de clúster YAML.

La configuración de tu clúster puede especificar cualquier característica o componente disponible para los clústeres de Dataproc (como el tipo de máquina, las acciones de inicialización y los componentes opcionales). La versión de la imagen del clúster debe ser 1.4.13 o superior. Si intentas generar un clúster con una versión de imagen inferior a 1.4.13, se producirá un error y se producirá un error.

Archivo YAML de configuración de clúster de muestra

clusterName: cluster-name
config:
  gceClusterConfig:
    metadata:
      'PIP_PACKAGES': 'google-cloud-core>=1.3.0 google-cloud-storage>=1.28.1'
  initializationActions:
  - executableFile: gs://dataproc-initialization-actions/python/pip-install.sh
  softwareConfig:
    imageVersion: 1.5-ubuntu18
    optionalComponents:
    - ANACONDA
    - JUPYTER

Cada configuración debe guardarse en Cloud Storage. Puedes crear y guardar varios archivos de configuración para darles opciones a los usuarios cuando usa Dataproc Hub a fin de crear su entorno de notebook del clúster de Dataproc.

Hay dos formas de crear un archivo de configuración de clúster YAML:

  1. Crea el archivo de configuración YAML del clúster desde la consola.

  2. Exporta un archivo de configuración YAML del clúster desde un clúster existente.

Crea el archivo de configuración YAML del clúster desde la consola

  1. Abre la página Crear un clúster en Cloud Console y, luego, selecciona y completa los campos para especificar el tipo de clúster que generará el Hub de Dataproc. usuarios.
    1. En la parte inferior del panel izquierdo, selecciona “REST equivalente”.
    2. Copia el bloque JSON generado, sin incluir la línea de solicitud POST inicial y, luego, pega el bloque JSON en un conversor de JSON a YAML en línea (busca en línea "Convertir JSON a YAML").
    3. Copia el archivo YAML convertido en un archivo cluster-config-filename.yaml local.

Exporta un archivo de configuración YAML del clúster desde un clúster existente

  1. Crea un clúster que coincida con tus requisitos.
  2. Exporta la configuración del clúster a un archivo cluster-config-filename.yaml local.
    gcloud dataproc clusters export cluster-name \
        --destination cluster-config-filename.yaml  \
        --region region
     

Guarda el archivo de configuración YAML en Cloud Storage

Copia el archivo de configuración YAML del clúster local en tu bucket de Cloud Storage.

gsutil cp cluster-config-filename.yaml gs://bucket-name/

Configura las variables de entorno de la instancia de Dataproc Hub

El administrador puede configurar las variables de entorno del concentrador que se enumeran en la tabla a continuación para establecer los atributos de los clústeres de Dataproc que generarán los usuarios del concentrador.

Variable Descripción Ejemplo
NOTEBOOKS_LOCATION La carpeta del bucket o el bucket de Cloud Storage que contiene los notebooks de usuario. El prefijo “gs://” es opcional. Predeterminado: El depósito de etapa de pruebas de Dataproc. gs://bucket-name/
DATAPROC_CONFIGS Lista delimitada por comas de strings de las rutas de Cloud Storage a archivos de configuración de clústeres YAML. El prefijo “gs://” es opcional. Predeterminado: gs://dataproc-spawner-dist/example-configs/. que contiene las opciones predefinidas example-cluster.yaml y example-single-node.yaml. gs://cluster-config-filename.yaml
DATAPROC_LOCATIONS_LIST Sufijos de zona en la región donde se encuentra la instancia de Dataproc Hub. Los usuarios pueden seleccionar una de estas zonas como la zona en la que se generará su clúster de Dataproc. Predeterminado: "b". b,c,d
DATAPROC_DEFAULT_SUBNET Subred en la que la instancia de Dataproc Hub generará clústeres de Dataproc. Predeterminado: la subred de la instancia de Dataproc Hub https://www.googleapis.com/compute/v1/projects/project-id/regions/region/subnetworks/subnet-name
DATAPROC_SERVICE_ACCOUNT Cuenta de servicio que se ejecutarán en las VM de Dataproc. Predeterminado: Si no se establece, se usa la cuenta de servicio de Dataproc predeterminada. service-account@project-id.iam.gserviceaccount.com
SPAWNER_DEFAULT_URL Si se muestra la IU de Jupyter o JupyterLab en los clústeres de Dataproc generados de forma predeterminada. Predeterminado: "/lab". `/` o `/lab` para JupyterLab o JupyterLab, respectivamente.
DATAPROC_ALLOW_CUSTOM_CLUSTERS Permite o no que los usuarios personalicen sus clústeres de Dataproc. Predeterminado: falso. “true” o “false”
DATAPROC_MACHINE_TYPES_LIST Lista de tipos de máquinas que los usuarios pueden elegir para sus clústeres de Dataproc generados si la personalización del clúster (DATAPROC_ALLOW_CUSTOM_CLUSTERS) está habilitada Predeterminado: vacío (todos los tipos de máquinas están permitidos). n1-standard-4,n1-standard-8,e2-standard-4,n1-highcpu-4
NOTEBOOKS_EXAMPLES_LOCATION La ruta de Cloud Storage al depósito de los notebooks o a la carpeta del depósito que se descargará en el clúster de Dataproc generado cuando se inicie el clúster. Default: vacío. gs://bucket-name/

Configura variables de entorno del concentrador

Existen dos formas de establecer variables de entorno del concentrador:

  1. Establece variables de entorno del concentrador desde la consola

  2. Cómo establecer variables de entorno del concentrador en un archivo de texto

Configura las variables de entorno del concentrador desde la consola.

Cuando creas una instancia del concentrador desde la página Dataproc instances Notebooks en Cloud Console, puedes hacer clic en el botón POPULATE para abrir un Completado de Dataproc Hub. que te permite establecer cada variable (consulta Crear una instancia de Dataproc Hub).

Cómo establecer variables de entorno del concentrador en un archivo de texto

  1. Crea el archivo. Puedes usar un editor de texto para establecer las variables del entorno de instancia de Dataproc Hub en un archivo local. Como alternativa, puedes crear el archivo con la ejecución del siguiente comando después de completar los valores del marcador de posición y cambiar o agregar variables y sus valores.

    cat <<EOF > environment-variables-file
    DATAPROC_CONFIGS=gs://bucket/cluster-config-filename.yaml
    NOTEBOOKS_LOCATION=gs://bucket/notebooks
    DATAPROC_LOCATIONS_LIST=b,c
    EOF
    

  2. Guarda el archivo en Cloud Storage. Copia el archivo de variables de entorno de la instancia de Dataproc Hub local a tu depósito de Cloud Storage.

    gsutil cp environment-variable-filename gs://bucket-name/folder-name/

Configura funciones de Identity and Access Management (IAM).

Dataproc Hub incluye las siguientes identidades con las siguientes capacidades:

  • Administrador: crea una instancia de Dataproc Hub
  • Usuario de datos y AA: accede a la IU de Dataproc Hub
  • Cuenta de servicio de Dataproc Hub: representa Dataproc Hub
  • Cuenta de servicio de Dataproc: representa el clúster de Dataproc que crea el centro de Dataproc.

Cada identidad requiere funciones o permisos específicos para realizar las tareas asociadas. La siguiente tabla resume las funciones y los permisos de IAM que requiere cada identidad.

Identidad Tipo Función o permiso
Administrador de Dataproc Hub Usuario o cuenta de servicio roles/notebooks.admin
Usuario de Dataproc Hub Usuario notebooks.instances.use, dataproc.clusters.use
Dataproc Hub Cuenta de servicio roles/dataproc.hubAgent
Dataproc Cuenta de servicio roles/dataproc.worker

Crea una instancia de Dataproc Hub

  1. Ve a la página Dataproc → Instancias de notebooks en Cloud Console.

  2. Haga clic en NUEVO INSTANCIA→Dataproc Hub

  3. En la página Nueva instancia de notebook, proporciona la información siguiente:

    1. Nombre de la instancia: Nombre de la instancia de Dataproc Hub.
    2. Región: selecciona una región para la instancia de Dataproc Hub. Nota: Los clústeres de Dataproc que generados por esta instancia de Dataproc Hub también se crearán en esta región.
    3. Zona: selecciona una zona dentro de la región seleccionada.
    4. Entorno:
      1. Entorno: Selecciona "Dataproc Hub"
      2. Selecciona una secuencia de comandos para ejecutar después de la creación (opcional): Puedes insertar o explorar y seleccionar una secuencia de comandos de acción de inicialización o ejecutable para ejecutar en el clúster de Dataproc generado.
      3. Propaga Dataproc Hub (opcional): Haz clic en POPULATE para abrir un formulario que te permita establecer cada una de las variables de entorno del concentrador (consulta Configura variables de entorno de la instancia de Dataproc Hub para obtener una descripción de cada variable). Como alternativa, usa el campo container-env-file, a continuación, para apuntar a un archivo de texto que creaste con tu configuración de variables. Ten en cuenta que, si no configuras algunas o todas las variables de entorno, Dataproc usará valores predeterminados para las variables no configuradas.
      4. Variables de entorno:
        1. container-env-file (opcional): Si creaste un archivo de texto que contiene la configuración de tu variable de entorno central (consulta Configura variables de entorno del centro), proporciona el nombre y la nube. Ubicación de almacenamiento del archivo.

          Ejemplo:

          gs://bucket-name/folder-name/environment-variable-filename.

          Ten en cuenta que, si no configuras algunas o todas las variables de entorno, Dataproc usará valores predeterminados para las variables no configuradas.

    5. Configuración de la máquina:
      1. Tipo de máquina: selecciona el tipo de máquina de Compute Engine.
      2. Establece otras opciones de configuración de la máquina.
    6. Haz clic en CREAR para iniciar la instancia.
  4. Cuando la instancia se esté ejecutando, haz clic en el vínculo "JupyterLab" en la página Instancias de notebooks para acceder a la instancia.

Realiza una limpieza

Borra la instancia de Dataproc Hub

  • Para borrar tu instancia de Dataproc Hub:
    gcloud compute instances delete --project=${PROJECT} ${INSTANCE_NAME}
    

Borra el bucket

  • Para borrar el depósito de Cloud Storage que creaste en la sección Antes de comenzar, incluidos los archivos de datos almacenados en el depósito, ejecuta lo siguiente:
    gsutil -m rm -r gs://${BUCKET_NAME}
    

¿Qué sigue?