Configurar Dataproc Hub

Dataproc Hub es un servidor 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 cuadernos de Jupyter y JupyterLab (consulta Usar Dataproc Hub).

Inicia Notebooks para varios usuarios. Puedes crear una instancia de Vertex AI Workbench con Dataproc habilitado o instalar el complemento Dataproc JupyterLab en una máquina virtual para ofrecer cuadernos a varios usuarios.

Definir una configuración de clúster

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

En la configuración del clúster se puede especificar cualquier función 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 la 1.4.13 o una posterior. Si intentas crear un clúster con una versión de imagen inferior a 1.4.13, se producirá un error y no se podrá crear.

.

Archivo de configuración de clúster de ejemplo en formato YAML

clusterName: cluster-name
config:
  softwareConfig:
    imageVersion: 2.2-ubuntu22
    optionalComponents:
    - JUPYTER

Cada configuración debe guardarse en Cloud Storage. Puedes crear y guardar varios archivos de configuración para que los usuarios puedan elegir cuando usen Dataproc Hub para crear su entorno de cuaderno de clúster de Dataproc.

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

  1. Crear un archivo de configuración de clúster YAML desde la consola

  2. Exportar un archivo de configuración de clúster YAML de un clúster

Crear un archivo de configuración de clúster YAML desde la consola

  1. Abre la página Crear un clúster en la consola de Google Cloud y, a continuación, selecciona y rellena los campos para especificar el tipo de clúster que Dataproc Hub creará para los usuarios.
    1. En la parte inferior del panel de la izquierda, selecciona "REST equivalente".
    2. Copia el bloque JSON generado, excluyendo la línea inicial de la solicitud POST, y pégalo en un convertidor online de JSON a YAML (busca "Convert JSON to YAML" en Internet).
    3. Copia el archivo YAML convertido en un archivo cluster-config-filename.yaml local.

Exportar un archivo de configuración de clúster YAML de un clúster

  1. Crea un clúster que se ajuste a 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
     

Guardar el archivo de configuración YAML en Cloud Storage

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

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

Definir variables de entorno de la instancia de Dataproc Hub

El administrador puede definir las variables de entorno del centro que se indican en la tabla de abajo para definir los atributos de los clústeres de Dataproc que crearán los usuarios del centro.

Variable Descripción Ejemplo
NOTEBOOKS_LOCATION El segmento o la carpeta del segmento de Cloud Storage que contiene los cuadernos del usuario. El prefijo `gs://` es opcional. Valor predeterminado: el segmento de staging de Dataproc. gs://bucket-name/
DATAPROC_CONFIGS Lista de cadenas separadas por comas de las rutas de Cloud Storage a los archivos de configuración del clúster de YAML. El prefijo `gs://` es opcional. Valor predeterminado: gs://dataproc-spawner-dist/example-configs/. que contiene example-cluster.yaml y example-single-node.yaml predefinidos. gs://cluster-config-filename.yaml
DATAPROC_LOCATIONS_LIST Sufijos de zonas en la región en la que 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. Valor predeterminado: "b". b, c y d
DATAPROC_DEFAULT_SUBNET La subred en la que la instancia de Dataproc Hub generará clústeres de Dataproc. Valor 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 con la que se ejecutarán las VMs de Dataproc. Valor predeterminado: si no se define, se usa la cuenta de servicio predeterminada de Dataproc. service-account@project-id.iam.gserviceaccount.com
SPAWNER_DEFAULT_URL Decide si mostrar de manera predeterminada la interfaz de usuario de Jupyter o JupyterLab en los clústeres de Dataproc generados. Valor predeterminado: "/lab". `/` o `/lab` para Jupyter o JupyterLab, respectivamente.
DATAPROC_ALLOW_CUSTOM_CLUSTERS Decide si permitir a los usuarios personalizar sus clústeres de Dataproc Valor predeterminado: false. "true" o "false"
DATAPROC_MACHINE_TYPES_LIST Lista con los tipos de máquinas que pueden elegir los usuarios para sus clústeres de Dataproc generados si la personalización de clústeres (DATAPROC_ALLOW_CUSTOM_CLUSTERS) está habilitada. Valor predeterminado: vacío (se permiten todos los tipos de máquinas). n1-standard-4,n1-standard-8,e2-standard-4,n1-highcpu-4
NOTEBOOKS_EXAMPLES_LOCATION Ruta de Cloud Storage al segmento o la carpeta del segmento del cuaderno que se descargará en el clúster de Dataproc generado cuando se active. Valor predeterminado: vacío. gs://bucket-name/

Configurar variables de entorno del centro

Hay dos formas de definir variables de entorno del centro de control:

  1. Definir variables de entorno del centro de control desde la consola

  2. Definir variables de entorno del centro de control en un archivo de texto

Definir variables de entorno del centro desde la consola

Cuando creas una instancia de Dataproc Hub desde la pestaña Cuadernos gestionados por usuarios de la página Dataproc > Workbench de la consola de Google Cloud , puedes hacer clic en el botón Rellenar para abrir un formulario Rellenar Dataproc Hub que te permite definir cada variable de entorno.

Definir variables de entorno del centro en un archivo de texto

  1. Crea el archivo. Puede usar un editor de texto para definir variables de entorno de instancias de Dataproc Hub en un archivo local. También puedes crear el archivo ejecutando el siguiente comando después de rellenar los valores de los marcadores de posición y de cambiar o añadir 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 tu instancia local de Dataproc Hub en tu segmento de Cloud Storage.

    gcloud storage cp environment-variable-filename gs://bucket-name/folder-name/

Definir roles de Gestión de Identidades y Accesos (IAM)

Dataproc Hub incluye las siguientes identidades con las siguientes funciones:

  • Administrador: crea una instancia de Dataproc Hub
  • Usuario de datos y aprendizaje automático: accede a la interfaz de usuario 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 Dataproc Hub.

Cada identidad requiere roles o permisos específicos para llevar a cabo las tareas asociadas. En la siguiente tabla se resumen los roles y permisos de gestión de identidades y accesos que requiere cada identidad.

Identidad Tipo Rol o permiso
Administrador de Dataproc Hub Cuenta de usuario o 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

Crear una instancia de Dataproc Hub

  1. Antes de empezar: para crear una instancia de Dataproc Hub desde la consola de Google Cloud , tu cuenta de usuario debe tener el permiso compute.instances.create. Además, la cuenta de servicio de la instancia (la cuenta de servicio predeterminada de Compute Engine o la cuenta de servicio especificada por el usuario que aparece en IAM y administración > Cuentas de servicio [consulta Cuenta de servicio de VM de Dataproc]) debe tener el permiso iam.serviceAccounts.actAs.

  2. Ve a la página Dataproc → Workbench de la consola de Google Cloud y, a continuación, selecciona la pestaña Notebooks gestionados por el usuario.

  3. Si no está preseleccionado como filtro, haz clic en el cuadro Filtrar y, a continuación, selecciona **Entorno:Dataproc Hub"".

  4. Haz clic en Nuevo cuaderno > Dataproc Hub.

  5. En la página Crear un cuaderno gestionado por el usuario, proporciona la siguiente información:

    1. Nombre del cuaderno: nombre de la instancia de Dataproc Hub.
    2. Región: selecciona una región para la instancia de Dataproc Hub. Los clústeres de Dataproc que genere esta instancia de Dataproc Hub también se crearán en esta región.
    3. Zona: selecciona una zona de la región elegida.
    4. Entorno:
      1. Environment: selecciona Dataproc Hub.
      2. Select a script to run after creation (opcional): Puedes insertar o buscar y seleccionar una secuencia de comandos o un archivo ejecutable de acción de inicialización para ejecutarlo en el clúster de Dataproc creado.
      3. Populate Dataproc Hub (optional): Haz clic en Populate para abrir un formulario que te permita definir cada una de las variables de entorno del hub (consulta la sección Definir variables de entorno de la instancia de Dataproc Hub para ver una descripción de cada variable). Dataproc usa valores predeterminados para las variables de entorno que no se hayan definido. También puedes definir pares de metadatos key:value para definir variables de entorno (consulta el siguiente elemento).
      4. Metadata:
        1. Si has creado un archivo de texto que contiene la configuración de las variables de entorno del centro (consulta Configurar variables de entorno del centro), proporciona el nombre del archivo como key y la ubicación de Cloud Storage del archivo como gs://bucket-name/folder-name/environment-variable-filename.value Dataproc usa valores predeterminados para las variables de entorno que no se hayan definido.
    5. Configuración de la máquina:
      1. Machine Type: selecciona el tipo de máquina de Compute Engine.
      2. Define otras opciones de configuración de la máquina.
    6. Otras opciones:
      1. Puede desplegar y definir o sustituir los valores predeterminados en las secciones Discos, Redes, Permisos, Seguridad y Actualización del entorno y estado del sistema.
    7. Haz clic en Crear para iniciar la instancia de Dataproc Hub.
  6. El enlace Abrir JupyterLab de la instancia de Dataproc Hub se activa después de crear la instancia. Los usuarios hacen clic en este enlace para abrir la página del servidor JupyterHub y configurar y crear un clúster de Dataproc JupyterLab (consulta Usar Dataproc Hub).