Conectar un clúster de Dataproc o autoadministrado

Después de crear un servicio de Dataproc Metastore, puedes crear y adjuntar un clúster de Dataproc que use el servicio como su almacén de metadatos de Hive.

También puedes adjuntar una URL de administración automáticaApache Hive/Apache Spark/Presto clúster que usa el servicio de Metastore de Dataproc como su almacén de metadatos mediante la modificación de la configuración del cliente.

Antes de comenzar

  • Debes crear el clúster de Dataproc en la misma región que el servicio Dataproc Metastore para lograr una conectividad de red óptima.

  • La imagen de Dataproc y la versión de Hive Metastore deben ser compatibles con las siguientes funciones:

    • Las imágenes de Dataproc 2.x requieren servicios de Dataproc Metastore creados con Hive 3.1.2.

    • Las imágenes de Dataproc 1.x requieren servicios de Dataproc Metastore creados con Hive 2.3.6 o 3.1.2, pero tienen un rendimiento óptimo con 2.3.6.

    Para obtener más información sobre las versiones de imagen de Dataproc y saber qué versión de Hive usa una imagen de Dataproc, consulta Control de versiones de Dataproc.

  • Si trabajas con una implementación de varios proyectos, debes configurar permisos adicionales antes de crear un clúster de Dataproc Metastore. Una implementación entre proyectos puede constar de dos o tres proyectos, con el clúster de Dataproc en un proyecto de clúster, el servicio de Dataproc Metastore en un proyecto de almacén de metadatos y la red en cualquiera de los dos proyectos anteriores. o en su propio proyecto de red. También es posible que el clúster de Dataproc y el servicio de Metastore de Dataproc compartan un proyecto mientras la red está en su propio proyecto de red.

    En el siguiente diagrama, se proporciona una descripción general de las posibles configuraciones del proyecto cuando se implementa un clúster de Dataproc Metastore:

    Descripción general de las posibles configuraciones de proyectos cuando implementas un clúster de Dataproc Metastore y Dataproc

    • Cuando se usa una red de VPC que pertenece a un proyecto diferente al servicio, se debe proporcionar el nombre completo del recurso relativo cuando se usa gcloud metastore services create SERVICE.

      gcloud metastore services create SERVICE \
          --network=projects/HOST_PROJECT/global/networks/NETWORK_ID
      
  • Para usar cualquier servicio de Dataproc Metastore, incluido uno en el mismo proyecto que el clúster de Dataproc, el clúster y el almacén de metadatos deben estar en la misma red.

    • Puedes adjuntar un servicio de Dataproc Metastore a cualquier clúster de Dataproc en toda la red de intercambio de tráfico. Para ello, debes proporcionar la siguiente configuración de la configuración de Hive cuando usas gcloud dataproc clusters create CLUSTER_NAME.

      gcloud dataproc clusters create CLUSTER_NAME \
          --properties="hive:hive.metastore.uris=$ENDPOINT_URI,hive:hive.metastore.warehouse.dir=$WAREHOUSE_DIR/hive-warehouse"
      

      Consulta Cómo adjuntar un clúster autoadministrado que use el servicio de Dataproc Metastore.

    • Un clúster también puede usar una subred de la red del almacén de metadatos. Para poder crear un clúster con una red o subred desde el proyecto de red, debes configurar los permisos de red compartida.

Adjunta un clúster de Dataproc que use el servicio de Dataproc Metastore

Después de crear un servicio, puedes crear y adjuntar un clúster de Dataproc que use el servicio como su almacén de metadatos de Hive con Google Cloud Console, la herramienta de gcloud o la API de Dataproc.

Configura una implementación entre proyectos

Las implementaciones de varios proyectos en las que el clúster de Dataproc y el servicio de Dataproc Metastore se encuentran en proyectos diferentes, requieren una configuración de permisos. No debes realizar esta configuración para los casos en los que el clúster de Dataproc y el servicio de Dataproc Metastore comparten un proyecto mientras la red está en su propio proyecto de red.

Después de configurar los permisos de la red, debes otorgar la función de visualizador de metadatos de Dataproc en el proyecto de almacén de datos al agente de servicio de Dataproc del proyecto de clúster. La cuenta del agente de servicios de Dataproc tiene el formato service-<cluster-project-number>@dataproc-accounts.iam.gserviceaccount.com. Deberás hacer referencia al número del proyecto de clúster.

Console

Para encontrar el número del proyecto, sigue estos pasos:

  1. Dirígete a la pestaña Configuración de IAM y administración.

  2. En la lista de proyectos en la parte superior de la página, selecciona el proyecto que usarás para crear el clúster de Dataproc.

  3. Anota el número del proyecto.

Configure los permisos:

  1. Navega a la pestaña IAM

  2. En la lista de proyectos en la parte superior de la página, selecciona el proyecto de almacén de metadatos.

  3. Haga clic en Add.

    1. Ingresa la cuenta de servicio en el campo Nuevos miembros.

    2. En el menú Funciones, seleccione Dataproc Metastore > Lector de Dataproc Metastore.

    3. Haga clic en Add.

Ahora puedes crear un clúster de Dataproc con el servicio de Dataproc del almacén de metadatos y la red o subred del proyecto de almacén de metadatos en el que se encuentra el servicio.

Crea un clúster de Dataproc

En las instrucciones siguientes, se demuestra cómo crear y adjuntar un clúster de Dataproc con Google Cloud Console, la herramienta de gcloud o la API de Dataproc Metastore.

Console

  1. En Cloud Console, abre la página Create a cluster (Crear un clúster) de Dataproc:

    Abrir la página Crear un clúster en Cloud Console

  2. Ingresa el campo Nombre del clúster.

  3. En los menús Región y Zona, selecciona una región y una zona para el clúster. Puedes seleccionar una región distinta para aislar los recursos y las ubicaciones de almacenamiento de metadatos dentro de la región especificada. Si seleccionas una región distinta, puedes seleccionar "Sin preferencia" para la zona a fin de permitir que Dataproc elija una zona dentro de la región seleccionada para tu clúster (consulta Ubicación de zona automática de Dataproc).

  4. Haga clic en la pestaña Personalizar clúster.

  5. En la sección Configuración de red, selecciona la misma red especificada durante la creación del servicio de almacén de metadatos.

  6. En la sección Dataproc Metastore, seleccione su servicio de almacén de metadatos. Si aún no creaste uno, puedes seleccionar Crear servicio nuevo.

  7. Haga clic en Create para generar el clúster.

El nuevo clúster aparece en la lista de clústeres. El estado del clúster aparece como "Provisioning" (Aprovisionándose) hasta que esté listo para usarse y después cambia a "Running" (En ejecución).

gcloud

Usa el siguiente comando de gcloud dataproc clusters create para crear un clúster:

 gcloud dataproc clusters create CLUSTER_NAME \
    --dataproc-metastore=projects/PROJECT_ID/locations/LOCATION/services/SERVICE \
    --region=LOCATION
 

Reemplaza CLUSTER_NAME por el nombre del clúster nuevo.

Reemplaza PROJECT_ID por el ID del proyecto en el que creaste tu servicio de Dataproc Metastore.

Reemplaza LOCATION con la misma región que especificaste antes para el servicio de Dataproc Metastore.

Reemplaza SERVICE por el nombre del servicio de Dataproc Metastore.

REST

Sigue las instrucciones de la API para crear un clúster mediante el Explorador de API.

Adjunta un clúster autoadministrado que use el servicio Dataproc Metastore

Después de crear un servicio, también puedes elegir adjuntar un clúster autoadministrado de Apache Hive, Apache Spark o Presto, que use el servicio como su almacén de Hive. Para ello, configura lo siguiente en la configuración del cliente:

hive.metastore.uris=ENDPOINT_URI
hive.metastore.warehouse.dir=WAREHOUSE_DIR

Reemplaza lo siguiente:

  • ENDPOINT_URI: El URI del extremo del almacén de metadatos de Hive que se usa para acceder al servicio de almacén de metadatos.

    Para encontrar el valor de URI de extremo que se usará, haz clic en el nombre del servicio de tu servicio en la página Dataproc Metastore. Esto te lleva a la página Detalles del servicio de ese servicio, en la que puedes usar el valor de URL que comienza con thrift://.

  • WAREHOUSE_DIR: Se refiere al directorio de las anulaciones de configuración del almacén de metadatos de Hive. Puede seguir el formato gs://.*hive-warehouse.

    Para encontrar el directorio de almacén y usarlo, haz clic en el nombre del servicio de tu servicio en la página Dataproc Metastore. Esto te lleva a la página Detalles del servicio de ese servicio, en la que puedes usar el valor hive.metastore.warehouse.dir en Anulaciones de configuración del almacén de metadatos.

URL de detalles del servicio y valores hive.metastore.warehouse.dir

Próximos pasos