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 se conecta 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.
- Habilitar Dataproc Metastore en tu proyecto.
- Comprende las herramientas de redes empresariales específicos en un proyecto final.
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:
-
Otorga control total a los recursos de Dataproc Metastore (
roles/metastore.editor
) -
Otorgar 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 roles y permisos específicos de Dataproc Metastore, consulta Administra el acceso con la 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 de 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 Convenciones de nomenclatura 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 metastore aparecerá en la página Dataproc Metastore. El estado mostrará Creando hasta que el servicio esté listo para usarse. Cuando esté lista, el estado cambiará a Activa. Es posible que el aprovisionamiento del servicio tarde unos minutos.
gcloud CLI
Para crear un servicio 2 de almacén de metadatos de Dataproc Metastore con la
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 del 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 especifica 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 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, consulte 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 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 del 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 Planes de precios y parámetros de configuración 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, consulte Regiones y zonas disponibles y Extremo regional.
Selecciona la versión de Metastore de Hive.
Si este valor no se modifica, tu servicio usará la versión más reciente admitida versión de Hive (actualmente, versión
3.1.2
).Para obtener más información sobre cómo seleccionar la versión correcta, consulta Política de versiones.
Selecciona el Canal de versiones.
Si no se modifica este valor, tu almacén de metadatos usa 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 cambia automáticamente a443
y no puede cambiarse.(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 predeterminada seleccionada 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 tu servicio para conectarse a otros servicios en el mismo proyecto.Cambia la configuración de red predeterminada para completar la 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 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.
- Elige usar la versión del secreto más reciente o selecciona una anterior que usar.
Ingresa el principal de Kerberos.
Esta es la principal asignada a este Dataproc Metastore servicio.
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 administrada por el cliente clave de encriptación (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é lista, el estado cambiará a Activa. El aprovisionamiento del 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 del 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 que deseas. para 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 se cambia 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
: El canal de versiones (opcional) del servicio. Si no se establece, se usa el valorStable
.METADATA_OVERRIDE
: El almacén de metadatos de Hive (opcional) y anula las configuraciones que quieres aplicar a tu servicio. Usa una lista separada por comas en el siguiente formato:k1=v1,k2=v2,k3=v3
.LABELS
: Pares clave-valor para agregar (opcional) metadatos adicionales a tu servicio. Usa una lista separada por comas en el siguiente formato:k1=v1,k2=v2,k3=v3
. Dataproc MetastoreAUXILIARY_VERSION
: Habilita el modo auxiliar (opcional) versiones. 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 especifica 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 diferente al de tu servicio, debes proporcionar toda la nombre del recurso relativo. 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
: (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 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 de almacenes. 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 la 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: La ubicación en 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, haz lo siguiente: 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 del nuevo. Servicio de Dataproc Metastore.LOCATION
: Es la región de Google Cloud que deseas. para crear tu Dataproc Metastore. También puedes establecer una ubicación predeterminada.CUSTOMER_DIR
: Es la ubicación en Cloud Storage de en el directorio de tu 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 escala mínimo y un factor de escala 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 escalamiento son opciones mutuamente excluyentes. Por ejemplo: Si activas el ajuste de escala automático, no puedes establecer un factor de escala 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 existente de los factores de escala.
- 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 escala se estableció 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 la estableces,
los valores predeterminados son
0.1
y6
, respectivamente.
Elige una de las siguientes pestañas para aprender a crear un Dataproc Metastore servicio 2 con el ajuste de escala automático habilitado.
Console
En la consola de Google Cloud, ve a 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 instancia, haz clic en Habilitar ajuste de escala automático.
En Tamaño de instancia, usa el control deslizante para elegir una instancia mínima y máxima. de tamaño del ensamble.
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é lista, el estado cambiará a Activa. Es posible que el aprovisionamiento del servicio tarde 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: El número máximo de instancias para usarlos en la configuración del ajuste de escala automático. Si estos valores no se especifican, se usa un valor predeterminado de6
.
Crea un servicio de Dataproc Metastore multirregional
Para crear un Dataproc Metastore multirregional, consulta Configura un servicio multirregional de Dataproc Metastore.
Crea un servicio de Dataproc Metastore con una VPC compartida
Una VPC compartida te permite conectar recursos de Metastore de Dataproc 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 compartidas
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 estado de
Agente de servicio de Dataproc Metastore
(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 habituales:
Restringir el intercambio de tráfico entre VPC Antes de crear un almacén de metadatos, no establezcas un restricción de la política de la organización para restringir el intercambio de tráfico entre VPC o, de lo contrario, la creación del almacén de metadatos falla. 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 almacén de metadatos, la red de VPC que podrían quedarse sin direcciones RFC 1918 disponibles requeridas por Servicios de Dataproc Metastore. Para obtener más información para solucionar este problema, consulta Se agotó el rango de IP asignado.