En esta página, se muestra cómo crear un servicio de Dataproc Metastore.
Después de crear tu servicio de Dataproc Metastore, puedes importar metadatos y conectarte a cualquiera de los siguientes servicios:
Una instancia autoadministrada de Apache Hive, una instancia de Apache Spark o un clúster de Presto
Después de conectar uno de estos servicios, usará tu servicio de Dataproc Metastore como su almacén de metadatos de Hive durante la ejecución de consultas.
Antes de comenzar
- Comprende las diferencias entre un servicio de Dataproc Metastore 1 y un servicio de Dataproc Metastore 2.
- Habilita Dataproc Metastore en tu proyecto.
- Comprende los requisitos de redes específicos de tu proyecto.
Funciones requeridas
Para obtener el permiso que necesitas para crear un metastore de Dataproc, pídele a tu administrador que te otorgue los siguientes roles de IAM en tu proyecto, según el principio de privilegio mínimo:
-
Otorgar control total de los recursos de Dataproc Metastore (
roles/metastore.editor
) -
Otorga acceso completo a todos los recursos de Dataproc Metastore, incluida la administración de políticas de IAM (
roles/metastore.admin
)
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Este rol predefinido contiene el permiso metastore.services.create
, que se requiere para crear un metastore de Dataproc.
También puedes obtener este permiso con roles personalizados o con otros roles predefinidos.
Para obtener más información sobre los roles y permisos específicos de Dataproc Metastore, consulta Administra el acceso con IAM.Crea Dataproc Metastore con la configuración predeterminada
Si creas un Dataproc Metastore con la configuración predeterminada, se configura tu servicio con un nivel empresarial, un tamaño de instancia medio, la versión más reciente del Metastore de Hive, 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 Thrift y otros parámetros de configuración predeterminados proporcionados.
Console
En la consola de Google Cloud, ve a la página Dataproc Metastore.
En la barra de navegación, haz clic en +Crear.
Se abrirá el diálogo Create Metastore service.
Selecciona 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 las configuraciones de escalamiento.
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.
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.
Para las demás opciones de configuración del servicio, usa los valores predeterminados proporcionados.
Para crear e iniciar el servicio, haz clic en Enviar.
Tu nuevo servicio de metastore aparecerá en la página Dataproc Metastore. El estado mostrará Creando hasta que el servicio esté listo para usarse. Cuando esté listo, el estado cambiará a Activo. El aprovisionamiento del servicio puede tardar unos minutos.
gcloud CLI
Para crear un servicio de metastore 2 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 nuevo servicio de Dataproc Metastore.LOCATION
: Es la región de Google Cloud en la que deseas crear tu Dataproc Metastore. También puedes establecer una ubicación predeterminada.Para obtener información sobre las convenciones de nombres, consulta Convención de nombres de recursos.
INSTANCE_SIZE
: El tamaño de la instancia de tu Dataproc Metastore multirregional. Por ejemplo,small
,medium
olarge
. Si especificas un valor paraINSTANCE_SIZE
, no especifiques un valor paraSCALING_FACTOR
.SCALING_FACTOR
: Es el factor de escalamiento de tu servicio de Dataproc Metastore. Por ejemplo,0.1
. Si especificas un valor paraSCALING_FACTOR
, no especifiques un valor paraINSTANCE_SIZE
.
REST
Sigue las instrucciones de la API para crear un servicio mediante el Explorador de API.
Dataproc Metastore 1
En las siguientes instrucciones, se muestra cómo crear un Dataproc Metastore 1 con un extremo Thrift y otros parámetros de configuración predeterminados proporcionados.
Console
En la consola de Google Cloud, ve a la página Dataproc Metastore.
En la barra de navegación, haz clic en +Crear.
Se abrirá el diálogo Create Metastore service.
Selecciona Dataproc Metastore 1.
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.
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.
Para las demás opciones de configuración del servicio, usa los valores predeterminados proporcionados.
Para crear e iniciar el servicio, haz clic en Enviar.
Tu nuevo servicio de metastore aparecerá en la página Dataproc Metastore. El estado mostrará Creando hasta que el servicio esté listo para usarse. Cuando esté listo, el estado cambiará a Activo. El aprovisionamiento del servicio puede tardar unos minutos.
gcloud CLI
Para crear un servicio de metastore 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 nuevo servicio de Dataproc Metastore.LOCATION
: Es la región de Google Cloud en la que deseas crear tu Dataproc Metastore. También puedes establecer 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
Cuando creas un Dataproc Metastore con la configuración avanzada, se muestra que debes modificar parámetros de configuración, como la configuración de red, la configuración de escalamiento, la configuración de extremos, la configuración de seguridad y las funciones opcionales.
Dataproc Metastore 2 o 1
En las siguientes instrucciones, se muestra cómo crear un servicio de Dataproc Metastore 2 o de Dataproc Metastore 1 con la configuración avanzada.
Console
Comenzar
En la consola de Google Cloud, abre la página Dataproc Metastore:
En el menú de navegación, haz clic en + Crear.
Se abrirá el diálogo Create Metastore service.
Selecciona la versión de Metastore que deseas usar, Dataproc Metastore 1 o Dataproc Metastore 2.
Información del servicio
(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 las configuraciones de escalamiento.
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.
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.
Selecciona la versión de Metastore de Hive.
Si no se modifica este valor, tu servicio usará la versión más reciente de Hive compatible (actualmente, la versión
3.1.2
).Para obtener más información sobre cómo seleccionar la versión correcta, consulta la política de versión.
Selecciona el canal de versiones.
Si no se modifica este valor, tu metastore usará el valor
Stable
. Para obtener más información, consulta Canal de versiones.Ingresa el puerto TCP.
Es el puerto TCP al que se conecta tu extremo de Thrift. Si no se modifica este valor, se usa el número de puerto
9083
. Si cambias tu extremo a gRPC, este valor cambiará automáticamente a443
y no se puede cambiar.(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 extremo
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 extremo.
Configuración de red
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 reddefault
solo permite que tu servicio se conecte a otros servicios en el mismo proyecto.Cambia la configuración de red predeterminada para completar las siguientes acciones:
- Conecta tu servicio de Dataproc Metastore a 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.
Opcional: Haz clic en Usar red de VPC compartida y, luego, ingresa el ID del proyecto y el nombre de la red de VPC.
Opcional: Haz clic en Hacer que los servicios sean accesibles en varias subredes de VPC y selecciona las subredes. Puedes especificar hasta cinco subredes.
Haz clic en Listo.
Integración de metadatos
Opcional: Habilita la sincronización de Data Catalog.
Para obtener más información, consulta Sincronización de Dataproc Metastore con Data Catalog.
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
Opcional: Habilita Kerberos.
- Para habilitar Kerberos, haz clic en el botón de activación.
- Selecciona o ingresa el ID de recurso del secreto.
- Puedes usar la versión más reciente del secreto o seleccionar una anterior.
Ingresa el principal de Kerberos.
Este es el principal asignado para este servicio de Dataproc Metastore.
Ve al archivo krb5 config.
Opcional: Elige un tipo de encriptación.
La opción seleccionada de forma predeterminada es Clave de encriptación administrada por Google.
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 Cómo usar claves de encriptación administradas por el cliente.
Anulaciones de configuración de Metastore
Opcional: Para aplicar una asignación a Hive Metastore, haz clic en + Agregar anulaciones.
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 de base de datos específico, consulta Tipos de bases de datos.
Etiquetas
- Opcional: Para agregar o quitar etiquetas opcionales que describan tus metadatos, haz clic en + Agregar etiquetas.
Cómo iniciar el servicio
Para crear y, luego, iniciar el servicio, haz clic en Enviar.
Tu nuevo servicio de metastore aparecerá en la página Dataproc Metastore. El estado mostrará Creando hasta que el servicio esté listo para usarse. Cuando esté listo, el estado cambiará a Activo. El aprovisionamiento del servicio puede tardar unos minutos.
gcloud CLI
Para crear un metastore, 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 nuevo servicio de Dataproc Metastore. de tu servicio de Dataproc Metastore. Por ejemplo,0.1
Si especificas un valor paraSCALING_FACTOR
, no especifiques un valor paraINSTANCE_SIZE
.LOCATION
: Es la región de Google Cloud en la que deseas crear tu Dataproc Metastore. También puedes establecer una ubicación predeterminada.PORT
: Opcional: Es el puerto TCP que usa tu extremo de Thrift. Si no se establece, se usa el puerto9083
. Si eliges usar un extremo de gRPC, el número de puerto cambiará automáticamente a443
.TIER
: Opcional para Dataproc Metastore 1: Es el nivel de servicio de tu servicio nuevo. Si no se establece, se usa el valorDeveloper
.ENDPOINT_PROTOCOL
: Opcional: Elige el protocolo de extremo para tu servicio.DATABASE_TYPE
: Opcional: Elige el tipo de base de datos para tu servicio. Para obtener más información sobre cómo elegir un tipo de base de datos específico, consulta Tipos de bases de datos.DATA_CATALOG_SYNC
: Opcional: Habilita la función Sincronización de Data Catalog.HIVE_METASTORE_VERSION
: Opcional: Es la versión del metastore de Hive que deseas usar con tu servicio. Por ejemplo,3.1.2
Si no se establece, 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 valorStable
.METADATA_OVERRIDE
: Opcional: Las configuraciones de anulación del almacén de metadatos de Hive que deseas aplicar a tu servicio. Usa una lista separada por comas en el siguiente formatok1=v1,k2=v2,k3=v3
.LABELS
: Opcional: Son pares clave-valor para agregar metadatos adicionales a tu servicio. Usa una lista separada por comas en el siguiente formatok1=v1,k2=v2,k3=v3
. Dataproc MetastoreAUXILIARY_VERSION
: Opcional: Habilita las versiones auxiliares. 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
olarge
. Si especificas un valor paraINSTANCE_SIZE
, no especifiques un valor paraSCALING_FACTOR
.SCALING_FACTOR
: Opcional para Dataproc Metastore 2: el factor de escalamiento de tu servicio de Dataproc Metastore. Por ejemplo,0.1
. Si especificas un valor paraSCALING_FACTOR
, no especifiques un valor paraINSTANCE_SIZE
.
Configuración de red:
NETWORK
: Es el nombre de la red de VPC a la que te conectas. Si no se establece, se usa el valordefault
.Si usas una red de VPC que pertenece a un proyecto diferente del servicio, debes proporcionar el nombre completo del recurso relativo. Por ejemplo,
projects/HOST_PROJECT/global/networks/NETWORK_ID
.SUBNET1
,SUBNET2
: Opcional: Es una lista de subredes que pueden acceder a tu servicio. 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
: (Opcional) Es el nombre de recurso relativo de una versión del secreto de Secret Manager.KMS_KEY
: Es opcional y hace referencia al ID del recurso clave.
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 de Hive Metastore para Dataproc Metastore
Si tu directorio de almacén de Apache Hive está en Cloud Storage, debes configurar una override de configuración de metastore. 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 de almacenes. Para obtener más información, consulta 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 nuevo servicio de Dataproc Metastore.
Console
En la consola de Google Cloud, abre la página Dataproc Metastore:
En la barra de navegación, haz clic en +Crear.
En Anulaciones de configuración del almacén de metadatos, ingresa los siguientes valores:
- Clave:
hive.metastore.warehouse.dir
. - Valor: Es la ubicación de Cloud Storage de tu directorio de almacén.
Por ejemplo:
gs://my-bucket/path/to/location
.
- Clave:
Configura las opciones de servicio restantes según sea necesario o usa los valores predeterminados proporcionados.
Haz clic en Enviar.
Regresa a la página Dataproc Metastore y verifica que tu servicio se haya creado correctamente.
gcloud CLI
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 nuevo servicio de Dataproc Metastore.LOCATION
: Es la región de Google Cloud en la que deseas crear tu Dataproc Metastore. También puedes establecer una ubicación predeterminada.CUSTOMER_DIR
: Es la ubicación de Cloud Storage de tu directorio de almacén. Por ejemplo:gs://my-bucket/path/to/location
.
Verifica que la creación se haya realizado correctamente.
Crea Dataproc Metastore con el 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. Después de configurar esto, el servicio aumentará o disminuirá automáticamente el factor de escalamiento necesario para ejecutar tus cargas de trabajo.
Consideraciones sobre el ajuste de escala automático
- El ajuste de escala automático y los factores de escala son opciones mutuamente excluyentes. Por ejemplo, si activas el ajuste de escala automático, no puedes establecer un factor o tamaño de escalamiento 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 escalamiento existentes.
- Cuando el ajuste de escala automático está inhabilitado, ocurre lo siguiente:
- Se borra la configuración de ajuste de escala automático existente.
- El factor de escalamiento se establece en el último
autoscaling_factor
que se configuró en el servicio.
- Los factores de escalamiento automático mínimo y máximo son opcionales. Si no se establecen, los valores predeterminados son
0.1
y6
, respectivamente.
Elige una de las siguientes pestañas para aprender a crear un servicio de Dataproc Metastore 2 con el escalamiento automático habilitado.
Console
En la consola de Google Cloud, ve a la página Dataproc Metastore.
En la barra de navegación, haz clic en +Crear.
Se abrirá el diálogo Create Metastore service.
Selecciona Dataproc Metastore 2.
En la sección Precios y capacidad, selecciona Empresarial: Región única.
En Tamaño de la instancia, haz clic en Habilitar ajuste de escala automático.
En Tamaño de instancia, usa el control deslizante para elegir un tamaño mínimo y máximo de instancia.
Para crear e iniciar el servicio, haz clic en Enviar.
Tu nuevo servicio de metastore aparecerá en la página Dataproc Metastore. El estado mostrará Creando hasta que el servicio esté listo para usarse. Cuando esté listo, el estado cambiará a Activo. El aprovisionamiento del 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á en la configuración de ajuste de escala automático. Si no se especifican estos valores, se usa un valor predeterminado de0.1
.MAX_INSTANCES
Opcional: Es la cantidad máxima de instancias que se usarán en la configuración de ajuste de escala automático. Si no se especifican estos valores, se usa un valor predeterminado de6
.
Crea un servicio de Dataproc Metastore multirregional
Para crear un Dataproc Metastore multirregional, consulta Cómo configurar 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 de varios proyectos a una red de VPC común.
Para crear un servicio de Dataproc Metastore configurado con una VPC compartida, consulta Cómo crear 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.
En el caso de los servicios de Dataproc Metastore configurados con el protocolo de extremo de Thrift, asegúrate de que el servicio de Dataproc Metastore y el clúster de Dataproc al que está conectado usen la misma red de VPC compartida.
En el caso de 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.
Roles de IAM obligatorios 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:
Restringir el intercambio de tráfico entre VPC Antes de crear un metastore, no establezcas una restricción de la política de la organización para restringir el intercambio de tráfico entre VPC, de lo contrario, fallará la creación del metastore. Para obtener más información sobre cómo establecer la configuración correcta de la VPC, consulta La creación de servicios falla debido a una restricción para restringir el intercambio de VPC.
Problemas con las redes de VPC Cuando creas un metastore, es posible que la red de VPC que usas se quede sin direcciones RFC 1918 disponibles que requieren los servicios de Dataproc Metastore. Para obtener más información para solucionar este problema, consulta Se agotó el rango de IP asignado.