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:
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, 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
- 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 red específicos de tu proyecto.
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:
-
Otorga 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
)
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
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 Crear servicio de Metastore.
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 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 opciones de configuración del servicio restantes, usa los valores predeterminados proporcionados.
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
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 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
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 Crear servicio de Metastore.
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 opciones de configuración del servicio restantes, usa los valores predeterminados proporcionados.
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
En la consola de Google Cloud, abre la página de Dataproc Metastore:
En el menú de navegación, haz clic en +Crear.
Se abrirá el diálogo Crear servicio de Metastore.
Selecciona la versión de Metastore que quieras 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 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 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.
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.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 a443
y no se podrá modificar.(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
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 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.
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).
Opcional: Haz clic en Haz 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 Dataproc Metastore a sincronización de 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.
- Elige usar la versión más reciente del secreto o selecciona una anterior.
Ingresa el principal de Kerberos.
Esta es la principal asignada a este servicio de Dataproc Metastore.
Ve al archivo krb5 config.
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
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 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
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 paraSCALING_FACTOR
, no especifiques un valor paraINSTANCE_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 puerto9083
. Si eliges usar un extremo de gRPC, el número de puerto cambia automáticamente a443
.TIER
: Es el nivel de servicio de tu servicio nuevo (opcional para Dataproc Metastore 1). Si no se establece, se usa el valorDeveloper
.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 valorStable
.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 formatok1=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 formatok1=v1,k2=v2,k3=v3
. Dataproc MetastoreAUXILIARY_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
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 2 (opcional). 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 que conectas al servicio. Si no se establece, se usa el valordefault
.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).
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
En la consola de Google Cloud, abre la página de Dataproc Metastore:
En la barra de navegación, haz clic en +Crear.
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
.
- 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 de Dataproc Metastore y verifica que el servicio se haya creado de forma correcta.
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 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
.
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
y6
, 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
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 Crear servicio de Metastore.
Selecciona Dataproc Metastore 2.
En la sección Precios y capacidad, selecciona Enterprise: Una sola región.
En Tamaño de la instancia, haz clic en Habilitar ajuste de escala automático.
En Tamaño de la 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 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 de0.1
.MAX_INSTANCES
Opcional: 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 de6
.
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.