Conecta un clúster de Dataproc o autoadministrado

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

También puedes adjuntar un archivo de configuraciónApache Hive/Apache Spark/Presto clúster que usa el servicio de Dataproc Metastore como su almacén de metadatos de Hive mediante la modificación de la configuración del cliente.

Antes de comenzar

  • Para obtener una conectividad de red óptima, crea el clúster de Dataproc en la misma región que el servicio de Dataproc Metastore.

  • La imagen de Dataproc y la versión de Dataproc Metastore Hive deben ser compatibles. Consulta las siguientes páginas de control de versiones de imágenes para asegurarte de que la versión de Hive sea compatible:

    Para obtener más información, consulta Lista de versiones de imágenes de Dataproc.

  • 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 conectar un servicio de Dataproc Metastore a cualquier clúster de Dataproc en toda la red de intercambio de tráfico si proporcionas la siguiente configuración de propiedad 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 Adjunta 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 crear un clúster mediante una subred del proyecto de red, debes configurar los permisos de red compartidos.

Control de acceso

  • Asegúrate de que tu cuenta de servicio de VM de Dataproc tenga permisos de lectura y escritura de objeto para acceder al directorio de almacén de Dataproc Metastore. Para obtener más información, consulte el directorio de almacenes Hive.

  • 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 consistir en 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 Dataproc Metastore 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 se implementa un clúster de Dataproc Metastore y Dataproc

    • Cuando usas una red de VPC que pertenece a un proyecto distinto al servicio, debes proporcionar el nombre completo del recurso relativo en gcloud metastore services create SERVICE.

      gcloud metastore services create SERVICE \
          --network=projects/HOST_PROJECT/global/networks/NETWORK_ID
      

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

Puedes crear y conectar un clúster de Dataproc que use el servicio de Dataproc Metastore como su almacén de metadatos de Hive.

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 están en proyectos separados requieren una configuración de permisos. No es necesario que realices 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 red, debes otorgar la función de visualizador de Dataproc Metastore en el proyecto de Metastore al agente de servicios 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. Debes hacer referencia al número del proyecto de clúster.

Console

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

  1. Navega a la pestaña Configuración de IAM y administración.

  2. En la lista de proyectos de 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.

Configura los permisos:

  1. Navega a la pestaña IAM.

  2. En la lista de proyectos de la parte superior de la página, selecciona el proyecto de Metastore.

  3. Haga clic en Agregar.

    1. Ingresa la cuenta de servicio en el campo Miembros nuevos.

    2. En el menú Funciones, selecciona Dataproc Metastore > Dataproc Metastore Viewer.

    3. Haga clic en Agregar.

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

Cree un clúster de Dataproc.

En las siguientes instrucciones, se muestra cómo crear y conectar un clúster de Dataproc.

Console

  1. En Cloud Console, abra la página Crear un clúster de Dataproc:

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

  2. Ingresa el campo Cluster Name (Nombre del clúster).

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

  4. Haz 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 Metastore.

  6. En la sección Dataproc Metastore, selecciona el servicio de almacén de metadatos. Si aún no has creado una, puedes seleccionar Crear servicio nuevo.

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

El clúster nuevo aparecerá en la lista de clústeres. El estado del clúster aparece como “Aprovisionando” hasta que esté listo para usarse. Luego, su estado cambia a "Running".

gcloud

Ejecuta 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 el servicio de Dataproc Metastore.

Reemplaza LOCATION por la misma región que especificaste 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 de Dataproc Metastore

Después de crear un servicio, también puedes optar por adjuntar un clúster autoadministrado de Apache Hive, Apache Spark o Presto que use el servicio como su almacén de metadatos 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

¿Qué sigue?