Crea un servicio de Dataproc Metastore

En esta página, se muestra cómo crear un servicio de Dataproc Metastore.

Después de crear el servicio de Dataproc Metastore, puedes importar metadatos y conectarte a cualquiera de los siguientes servicios:

Después de conectar uno de estos servicios, este usa tu servicio de Dataproc Metastore como su almacén de metadatos de Hive durante la ejecución de la consulta.

Antes de comenzar

Funciones requeridas

Si quieres obtener el permiso que necesitas para crear un Dataproc Metastore, pídele a tu administrador que te otorgue los siguientes roles de IAM en tu proyecto según el principio de privilegio mínimo:

Si quieres obtener más información para otorgar funciones, consulta Administra el acceso.

Esta función predefinida contiene el permiso metastore.services.create, que se necesita para crear un almacén de metadatos de Dataproc.

Es posible que también puedas obtener este permiso con funciones personalizadas o con otras funciones predefinidas.

Para obtener más información sobre las funciones y los permisos específicos de Dataproc Metastore, consulta Administra el acceso con la IAM.

Crear Dataproc Metastore con la configuración predeterminada

Si creas un Dataproc Metastore con la configuración predeterminada, se configurará tu servicio con un nivel empresarial, un tamaño de instancia mediano, la versión más reciente de Hive Metastore, un extremo de Thrift y una ubicación de datos de us-central.

Dataproc Metastore 2

En las siguientes instrucciones, se muestra cómo crear un Dataproc Metastore 2 con un extremo de Thrift y otra configuración predeterminada proporcionada.

Console

  1. En la consola de Google Cloud, ve a la página Dataproc Metastore.

    Ir a Dataproc Metastore

  2. En la barra de navegación, haz clic en +Crear.

    Se abrirá el diálogo Crear servicio de Metastore.

  3. Selecciona Dataproc Metastore 2.

  4. En la sección Precios y capacidad, elige un tamaño de instancia.

    Para obtener más información, consulta los planes de precios y configuraciones de escalamiento.

  5. En el campo Nombre del servicio, ingresa un nombre único para tu servicio.

    Para obtener información sobre las convenciones de nombres, consulta Convención de nombres de recursos.

  6. Selecciona la Ubicación de los datos.

    Para obtener más información sobre cómo seleccionar la región adecuada, consulta Regiones y zonas disponibles y Extremo regional.

  7. Para las opciones de configuración del servicio restantes, usa los valores predeterminados proporcionados.

  8. Para crear e iniciar el servicio, haz clic en Enviar.

    Tu nuevo servicio de almacén de metadatos aparece en la página Dataproc Metastore. El estado muestra Creando hasta que el servicio esté listo para usarse. Cuando esté lista, el estado cambiará a Activa. Aprovisionar el servicio puede tardar unos minutos.

gcloud CLI

Para crear un servicio 2 de almacén de metadatos de Dataproc Metastore con los valores predeterminados proporcionados, ejecuta el siguiente comando gcloud metastore services create:

gcloud metastore services create SERVICE \
  --location=LOCATION \
  --instance-size=INSTANCE_SIZE \
  --scaling-factor=SCALING_FACTOR

Reemplaza lo siguiente:

  • SERVICE: Es el nombre de tu servicio nuevo de Dataproc Metastore.
  • LOCATION: Es la región de Google Cloud en la que deseas crear tu almacén de Dataproc Metastore. También puedes definir una ubicación predeterminada.

    Para obtener información sobre las convenciones de nombres, consulta Convención de nombres de recursos.

  • INSTANCE_SIZE: Es el tamaño de la instancia de tu Dataproc Metastore multirregional. Por ejemplo, small, medium o large. Si especificas un valor para INSTANCE_SIZE, no especifiques un valor para SCALING_FACTOR.

  • SCALING_FACTOR: Es el factor de escalamiento de tu servicio de Dataproc Metastore. Por ejemplo, 0.1. Si especificas un valor para SCALING_FACTOR, no especifiques un valor para INSTANCE_SIZE.

REST

Sigue las instrucciones de la API para crear un servicio con el Explorador de APIs.

Dataproc Metastore 1

En las siguientes instrucciones, se muestra cómo crear un Dataproc Metastore 1 con un extremo de Thrift y otra configuración predeterminada proporcionada.

Console

  1. En la consola de Google Cloud, ve a la página Dataproc Metastore.

    Ir a Dataproc Metastore

  2. En la barra de navegación, haz clic en +Crear.

    Se abrirá el diálogo Crear servicio de Metastore.

  3. Selecciona Dataproc Metastore 1.

  4. En el campo Nombre del servicio, ingresa un nombre único para tu servicio.

    Para obtener información sobre las convenciones de nombres, consulta Convención de nombres de recursos.

  5. Selecciona la Ubicación de los datos.

    Para obtener más información sobre cómo seleccionar la región adecuada, consulta Regiones y zonas disponibles y Extremo regional.

  6. Para las opciones de configuración del servicio restantes, usa los valores predeterminados proporcionados.

  7. Para crear e iniciar el servicio, haz clic en Enviar.

    Tu nuevo servicio de almacén de metadatos aparece en la página Dataproc Metastore. El estado muestra Creando hasta que el servicio esté listo para usarse. Cuando esté lista, el estado cambiará a Activa. Aprovisionar el servicio puede tardar unos minutos.

gcloud CLI

Para crear un servicio de almacén de metadatos básico con los valores predeterminados proporcionados, ejecuta el siguiente comando gcloud metastore services create:

gcloud metastore services create SERVICE \
  --location=LOCATION

Reemplaza lo siguiente:

  • SERVICE: Es el nombre de tu servicio nuevo de Dataproc Metastore.
  • LOCATION: Es la región de Google Cloud en la que deseas crear tu almacén de Dataproc Metastore. También puedes definir una ubicación predeterminada.

    Para obtener información sobre las convenciones de nombres, consulta Convención de nombres de recursos.

REST

Sigue las instrucciones de la API para crear un servicio mediante el Explorador de API.

Crea Dataproc Metastore con la configuración avanzada

Crear un Dataproc Metastore con la configuración avanzada demuestra que debes modificar parámetros de configuración como la red, la configuración del escalamiento, la configuración del extremo, la configuración de seguridad y las características opcionales.

Dataproc Metastore 2 o 1

En las siguientes instrucciones, se muestra cómo crear un servicio de Dataproc Metastore 2 o un servicio de Dataproc Metastore 1 con la configuración avanzada.

Console

Comenzar ahora

  1. En la consola de Google Cloud, abre la página de Dataproc Metastore:

    Abrir Dataproc Metastore

  2. En el menú de navegación, haz clic en +Crear.

    Se abrirá el diálogo Crear servicio de Metastore.

  3. Selecciona la versión de Metastore que quieras usar, Dataproc Metastore 1 o Dataproc Metastore 2.

    Información del servicio

    Página Crear servicio
    Ejemplo de la página para crear un servicio

    1. (Opcional): Para Dataproc Metastore 2. En la sección Precios y capacidad, elige un tamaño de instancia.

      Para obtener más información, consulta los planes de precios y configuraciones de escalamiento.

    2. En el campo Nombre del servicio, ingresa un nombre único para tu servicio.

      Para obtener información sobre las convenciones de nombres, consulta Convención de nombres de recursos.

    3. Selecciona la Ubicación de los datos.

      Para obtener más información sobre cómo seleccionar la región adecuada, consulta Regiones y zonas disponibles y Extremo regional.

    4. Selecciona la versión de Metastore de Hive.

      Si este valor no se modifica, tu servicio usa la última versión compatible de Hive (actualmente, 3.1.2).

      Para obtener más información sobre cómo seleccionar la versión correcta, consulta Política de la versión.

    5. Selecciona el Canal de versiones.

      Si este valor no se modifica, el almacén de metadatos usa el valor Stable. Para obtener más información, consulta Canal de versiones.

    6. Ingresa el puerto TCP.

      El puerto TCP al que se conecta tu extremo de Thrift. Si este valor no se modifica, se usa el número de puerto 9083. Si cambias tu extremo a gRPC, este valor cambiará automáticamente a 443 y no se podrá modificar.

    7. (Opcional) Para Dataproc Metastore 1. Selecciona el Nivel de servicio.

      El nivel de servicio influye en la capacidad de tu servicio. Para obtener más información, consulta Nivel de servicio.

    Protocolo de extremos

    • Opcional: Elige un protocolo de extremo.

      La opción seleccionada de forma predeterminada es Apache Thrift. Para obtener más información sobre los diferentes extremos, consulta Elige el protocolo de extremos.

    Configuración de red

    1. Selecciona una configuración de red.

      De forma predeterminada, tu servicio solo se expone en una red de VPC y usa la red default. La red default solo permite que tu servicio se conecte a otros servicios del mismo proyecto.

      Cambia la configuración de red predeterminada para completar las siguientes acciones:

      • Conecta tu servicio de Dataproc Metastore con los servicios de Dataproc Metastore en otros proyectos.
      • Usa tu servicio de Dataproc Metastore con otros servicios de Google Cloud, como el clúster de Dataproc.
    2. Haz clic en Usar la red de VPC compartida y, luego, ingresa el ID del proyecto y el nombre de la red de VPC (opcional).

    3. Opcional: Haz clic en Haz que los servicios sean accesibles en varias subredes de VPC y selecciona las Subredes. Puedes especificar hasta cinco subredes.

    4. Haz clic en Listo.

    Integración de metadatos

    Período de mantenimiento

    • Opcional: Selecciona el Día de la semana y la Hora del día para el período de mantenimiento.

      Para obtener más información, consulta Períodos de mantenimiento.

    Seguridad

    1. Opcional: Habilita Kerberos.

      1. Para habilitar Kerberos, haz clic en el botón de activación.
      2. Selecciona o ingresa el ID de recurso del secreto.
      3. Elige usar la versión más reciente del secreto o selecciona una anterior.
      4. Ingresa el principal de Kerberos.

        Esta es la principal asignada a este servicio de Dataproc Metastore.

      5. Ve al archivo krb5 config.

    2. Opcional: Elige un tipo de encriptación.

      • La opción predeterminada seleccionada es Google-managed encryption key.

      • Para seleccionar una clave administrada por el cliente, haz clic en Usar una clave de encriptación administrada por el cliente (CMEK).

        Para obtener más información, consulta Usa claves de encriptación administradas por el cliente.

    Anulaciones de configuración de Metastore

    Configuración de la versión auxiliar

    • Opcional: Para agregar una configuración de versión auxiliar, haz clic en Habilitar.

      Para obtener más información, consulta Versiones auxiliares.

    Tipo de base de datos

    • Opcional: Elige un tipo de base de datos.

      En Tipo de base de datos, selecciona MySQL o Spanner. MySQL es el tipo de base de datos predeterminado.

      Para obtener más información sobre cómo elegir un tipo específico de base de datos, consulta Tipos de bases de datos.

    Etiquetas

    • Opcional: Para agregar o quitar etiquetas opcionales que describen tus metadatos, haz clic en + Agregar etiquetas.

Inicia el servicio

Para crear e iniciar el servicio, haz clic en Enviar.

Tu servicio nuevo de almacén de metadatos aparece en la página de Dataproc Metastore. El estado muestra Creando hasta que el servicio esté listo para usarse. Cuando esté lista, el estado cambiará a Activa. Aprovisionar el servicio puede tardar unos minutos.

gcloud CLI

  1. Para crear un almacén de metadatos, ejecuta el siguiente comando gcloud metastore services create:

    gcloud metastore services create SERVICE \
      --location=LOCATION \
      --instance-size=INSTANCE_SIZE \
      --scaling-factor=SCALING_FACTOR \
      --port=PORT \
      --tier=TIER \
      --endpoint-protocol=ENDPOINT_PROTOCOL \
      --database-type=DATABASE_TYPE \
      --hive-metastore-version=HIVE_METASTORE_VERSION \
      --data-catalog-sync=DATA_CATALOG_SYNC \
      --release-channel=RELEASE_CHANNEL \
      --hive-metastore-configs=METADATA_OVERRIDE \
      --labels=LABELS \
      --auxiliary-versions=AUXILIARY_VERSION \
      --network=NETWORK \
      --consumer-subnetworks="projects/PROJECT_ID/regions/LOCATION/subnetworks/SUBNET1, projects/PROJECT_ID/regions/LOCATION/subnetworks/SUBNET2" \
      --kerberos-principal=KERBEROS_PRINCIPAL \
      --krb5-config=KRB5_CONFIG \
      --keytab=CLOUD_SECRET \
      --encryption-kms-key=KMS_KEY

    Reemplaza lo siguiente:

    Configuración del servicio:

    • SERVICE: Es el nombre de tu servicio nuevo de Dataproc Metastore. Por ejemplo, 0.1 Si especificas un valor para SCALING_FACTOR, no especifiques un valor para INSTANCE_SIZE.
    • LOCATION: Es la región de Google Cloud en la que deseas crear tu almacén de Dataproc Metastore. También puedes definir una ubicación predeterminada.
    • PORT: Es el puerto TCP que usa tu extremo de Thrift (opcional). Si no se configura, se usa el puerto 9083. Si eliges usar un extremo de gRPC, el número de puerto cambia automáticamente a 443.
    • TIER: Es el nivel de servicio de tu servicio nuevo (opcional para Dataproc Metastore 1). Si no se establece, se usa el valor Developer.
    • ENDPOINT_PROTOCOL: Elige el protocolo de extremo para tu servicio (opcional).
    • DATABASE_TYPE: Elige el tipo de base de datos para tu servicio (opcional). Para obtener más información sobre cómo elegir un tipo específico de base de datos, consulta Tipos de bases de datos.
    • DATA_CATALOG_SYNC: Habilita la función de sincronización de Data Catalog (opcional).
    • HIVE_METASTORE_VERSION: Es la versión del almacén de metadatos de Hive que deseas usar con tu servicio (opcional). Por ejemplo, 3.1.2 Si no se configura, se usa la versión más reciente de Hive.
    • RELEASE_CHANNEL: Es el canal de versiones del servicio (opcional). Si no se establece, se usa el valor Stable.
    • METADATA_OVERRIDE: El almacén de metadatos de Hive anula los archivos de configuración que deseas aplicar a tu servicio (opcional). Usa una lista separada por comas en el siguiente formato k1=v1,k2=v2,k3=v3.
    • LABELS: Son pares clave-valor para agregar metadatos adicionales al servicio (opcional). Usa una lista separada por comas en el siguiente formato k1=v1,k2=v2,k3=v3. Dataproc Metastore
    • AUXILIARY_VERSION: Habilita las versiones auxiliares (opcional). Para obtener más información, consulta Versiones auxiliares.

    Configuración de escalamiento:

    • INSTANCE_SIZE: Opcional para Dataproc Metastore 2: el tamaño de la instancia de tu Dataproc Metastore multirregional. Por ejemplo, small, medium o large. Si especificas un valor para INSTANCE_SIZE, no especifiques un valor para SCALING_FACTOR.
    • SCALING_FACTOR: Es el factor de escalamiento de tu servicio de Dataproc Metastore 2 (opcional). Por ejemplo, 0.1. Si especificas un valor para SCALING_FACTOR, no especifiques un valor para INSTANCE_SIZE.

    Configuración de red:

    • NETWORK: Es el nombre de la red de VPC que conectas al servicio. Si no se establece, se usa el valor default.

      Si usas una red de VPC que pertenece a un proyecto diferente que tu servicio, debes proporcionar el nombre de recurso relativo completo. Por ejemplo, projects/HOST_PROJECT/global/networks/NETWORK_ID.

    • SUBNET1, SUBNET2: Una lista de subredes que pueden acceder a tu servicio (opcional). Puedes usar el ID, la URL completamente calificada o el nombre relativo de la subred. Puedes especificar hasta 5 subredes.

    Configuración de Kerberos:

    • KERBEROS_PRINCIPAL: (Opcional) Un principal de Kerberos que existe en el archivo keytab y en el KDC. Un principal típico tiene la forma “principal/instancia@DOMINIO”, pero no hay un formato exacto.
    • KRB5_CONFIG: (Opcional) El archivo krb5.config especifica el KDC y la información del dominio de Kerberos, que incluye ubicaciones del KDC y configuraciones predeterminadas para las aplicaciones de Kerberos y el dominio.
    • CLOUD_SECRET: Es el nombre del recurso relativo de una versión de secreto de Secret Manager (opcional).
    • KMS_KEY: Hace referencia al ID del recurso de la clave (opcional).
  2. Verifica que la creación se haya realizado correctamente.

REST

Sigue las instrucciones de la API para crear un servicio mediante el Explorador de API.

Establece una anulación de configuración del almacén de metadatos de Hive para Dataproc Metastore

Si el directorio de almacén de Apache Hive está en Cloud Storage, debes establecer una anulación de la configuración del almacén de metadatos. Esta anulación establece tu almacén de datos personalizado como el directorio de almacén predeterminado para tu servicio de Dataproc Metastore.

Antes de establecer esta anulación, asegúrate de que tu servicio de Dataproc Metastore tenga permisos de lectura y escritura de objetos para acceder al directorio del almacén. Para obtener más información, consulta el directorio del almacén de Hive.

En las siguientes instrucciones, se muestra cómo establecer una anulación de configuración de Hive Metastore para un servicio nuevo de Dataproc Metastore.

Console

  1. En la consola de Google Cloud, abre la página de Dataproc Metastore:

    Abrir Dataproc Metastore

  2. En la barra de navegación, haz clic en +Crear.

  3. En Anulaciones de configuración de Metastore, ingresa los siguientes valores:

    • Clave: hive.metastore.warehouse.dir.
    • Valor: Es la ubicación de Cloud Storage del directorio del almacén. Por ejemplo: gs://my-bucket/path/to/location.
  4. Configura las opciones de servicio restantes según sea necesario o usa los valores predeterminados proporcionados.

  5. Haz clic en Enviar.

    Regresa a la página de Dataproc Metastore y verifica que el servicio se haya creado de forma correcta.

gcloud CLI

  1. Para crear un servicio de Dataproc Metastore con una anulación de Hive, ejecuta el siguiente comando gcloud metastore services create:

    gcloud metastore services create SERVICE \
      --location=LOCATION \
      --hive-metastore-configs="hive.metastore.warehouse.dir=CUSTOMER_DIR"
    

    Reemplaza lo siguiente:

    • SERVICE: Es el nombre de tu servicio nuevo de Dataproc Metastore.
    • LOCATION: Es la región de Google Cloud en la que deseas crear tu almacén de Dataproc Metastore. También puedes establecer una ubicación predeterminada.
    • CUSTOMER_DIR: Es la ubicación de Cloud Storage del directorio del almacén. Por ejemplo: gs://my-bucket/path/to/location.
  2. Verifica que la creación se haya realizado correctamente.

Crear Dataproc Metastore con ajuste de escala automático

Dataproc Metastore 2 admite el ajuste de escala automático. Si activas el ajuste de escala automático, puedes establecer un factor de escalamiento mínimo y uno máximo. Una vez que se configura, el servicio aumenta o disminuye de forma automática el factor de escalamiento necesario para ejecutar las cargas de trabajo.

Consideraciones sobre el ajuste de escala automático

  • El ajuste de escala automático y los factores de escalamiento son opciones mutuamente excluyentes. Por ejemplo, si activas el ajuste de escala automático, no podrás configurar un factor o tamaño de forma manual.
  • El ajuste de escala automático solo está disponible para instancias de Dataproc Metastore de una sola región.
  • Cuando se habilita el ajuste de escala automático, se borra la configuración de los factores de escala existentes.
  • Cuando el ajuste de escala automático está inhabilitado, ocurre lo siguiente:
    • Se borra la configuración existente del ajuste de escala automático.
    • El factor de escalamiento se establece en el último autoscaling_factor que se configuró en el servicio.
  • Los factores de ajuste de escala automático mínimo y máximo son opcionales. Si no se configura, los valores predeterminados son 0.1 y 6, respectivamente.

Elige una de las siguientes pestañas para aprender a crear un servicio 2 de Dataproc Metastore con el ajuste de escala automático habilitado.

Console

  1. En la consola de Google Cloud, ve a la página Dataproc Metastore.

    Ir a Dataproc Metastore

  2. En la barra de navegación, haz clic en +Crear.

    Se abrirá el diálogo Crear servicio de Metastore.

  3. Selecciona Dataproc Metastore 2.

  4. En la sección Precios y capacidad, selecciona Enterprise: Una sola región.

  5. En Tamaño de la instancia, haz clic en Habilitar ajuste de escala automático.

  6. En Tamaño de la instancia, usa el control deslizante para elegir un tamaño mínimo y máximo de instancia.

  7. Para crear e iniciar el servicio, haz clic en Enviar.

    Tu servicio nuevo de almacén de metadatos aparece en la página de Dataproc Metastore. El estado muestra Creando hasta que el servicio esté listo para usarse. Cuando esté lista, el estado cambiará a Activa. Aprovisionar el servicio puede tardar unos minutos.

REST

curl -X POST -s -i -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-d '{"scaling_config":{"autoscaling_config":{"autoscaling_enabled": true,"limit_config":{"max_scaling_factor":MAX_SCALING_FACTOR,"min_scaling_factor": MIN_SCALING_FACTOR}}}}' \
-H "Content-Type:application/json" \
https://metastore.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/services?service_id=SERVICE_ID

Reemplaza lo siguiente:

  • MIN_INSTANCES Opcional: Es la cantidad mínima de instancias que se usarán en la configuración del ajuste de escala automático. Si no se especifican estos valores, se utiliza un valor predeterminado de 0.1.
  • MAX_INSTANCESOpcional: Es la cantidad máxima de instancias que se usarán en la configuración del ajuste de escala automático. Si no se especifican estos valores, se utiliza un valor predeterminado de 6.

Crea un servicio multirregional de Dataproc Metastore

Para crear un Dataproc Metastore multirregional, consulta Configura un servicio de Dataproc Metastore multirregional.

Crea un servicio de Dataproc Metastore con una VPC compartida

Una VPC compartida te permite conectar recursos de Dataproc Metastore desde varios proyectos a una red de VPC común.

Para crear un servicio de Dataproc Metastore configurado con una VPC compartida, consulta Crea un servicio con la configuración avanzada.

Consideraciones

  • Las redes de VPC no son relevantes para los servicios de Dataproc Metastore configurados con el protocolo de extremo de gRPC.

  • Para los servicios de Dataproc Metastore configurados con el protocolo de extremo de Thrift, asegúrate de que tu servicio de Dataproc Metastore y el clúster de Dataproc al que está conectado usen la misma red de VPC compartida.

  • Para los servicios de Dataproc Metastore configurados con el protocolo de extremo de Thrift y Private Service Connect, asegúrate de usar subredes de la red de VPC compartida.

Funciones de IAM necesarias para las redes de VPC compartida

Para crear un servicio de Dataproc Metastore con una VPC a la que se pueda acceder en una red que pertenece a un proyecto diferente, debes otorgar roles/metastore.serviceAgent al agente de servicio de Dataproc Metastore del proyecto de servicio (service-SERVICE_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com) en la política de IAM del proyecto de red.

gcloud projects add-iam-policy-binding NETWORK_PROJECT_ID \
   --role "roles/metastore.serviceAgent" \
   --member "serviceAccount:service-SERVICE_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com"

Soluciona los problemas comunes.

Estos son algunos problemas comunes:

  • Restricción del intercambio de tráfico de VPC. Antes de crear un almacén de metadatos, no establezcas una restricción de política de la organización para restringir el intercambio de tráfico entre VPC. De lo contrario, la creación del almacén de metadatos fallará. Para obtener más información sobre cómo establecer la configuración de VPC correcta, consulta La creación del servicio falla debido a una restricción para restringir el intercambio de tráfico entre VPC.

  • Problemas con las redes de VPC. Cuando creas un almacén de metadatos, la red de VPC que usas puede quedarse sin direcciones RFC 1918 disponibles que requieren los servicios de Dataproc Metastore. Para obtener más información sobre cómo solucionar este problema, consulta El rango de IP asignado está agotado.

¿Qué sigue?