En esta página, se explican varios casos de error y los pasos para solucionarlos.
Situaciones de error de conectividad y red
Si tu servicio experimenta problemas de conectividad o de red, consulta las situaciones en las siguientes secciones para ver si alguna de ellas es la causa del problema.
Falla la creación del servicio debido a una restricción para restringir el intercambio de tráfico entre VPC
No establezcas la restricción de la política de la organización para restringir el intercambio de tráfico entre VPC. Si especificas constraints/compute.restrictVpcPeering, la solicitud de creación fallará con un error INVALID_ARGUMENT. Si debes establecer la restricción, usa el siguiente comando para permitir under:folders/270204312590:
gcloud resource-manager org-policies allow compute.restrictVpcPeering under:folders/270204312590 --organization ORGANIZATION_ID
Para obtener más información, consulta las restricciones de las políticas de la organización.
Falla la implementación entre proyectos en la que es posible que no exista la cuenta de servicio
Para crear un servicio de Dataproc Metastore al que se pueda acceder en una red que pertenece
a un proyecto diferente del que tiene el servicio, debes otorgar
roles/metastore.serviceAgent al agente de servicio de Dataproc Metastore del proyecto del 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"
Para obtener más información, consulta Configura una implementación entre proyectos.
Se requiere una IP privada para la conectividad de red
Dataproc Metastore solo usa IP privada, por lo que no se expone ninguna IP pública. Esto significa que solo las VM de la red de nube privada virtual (VPC) proporcionada o locales (conectadas a través de Cloud VPN o Cloud Interconnect) pueden acceder el servicio de Dataproc Metastore.
Para obtener más información, consulta Acceso al servicio.
Regla de firewall de entrada obligatoria para Kerberos
Kerberos requiere que Dataproc Metastore inicie conexiones a hosts en la red de tu proyecto. Debes crear una regla de firewall que permita la entrada de TCP y UDP en todos los puertos desde el bloque de IP /17 que contiene la IP de Dataproc Metastore.
Para obtener más información, consulta Reglas de firewall en tu KDC y Reglas de firewall para tus servicios.
Error de conexión provocado por recursos aprovisionados en redes de VPC compartida
Si tu servicio usa una red que pertenece a un proyecto diferente y Compute Engine está protegido por el perímetro de servicio, el proyecto del almacén de metadatos y el proyecto de red deben estar en el mismo perímetro.
Para agregar proyectos existentes de Dataproc Metastore al perímetro, sigue las instrucciones en Actualiza un perímetro de servicio.
Para obtener más información, consulta Controles del servicio de VPC con Dataproc Metastore.
El rango de IP asignado está agotado
Es posible que la red de VPC proporcionada se quede sin direcciones RFC 1918 disponibles que requieren los servicios de Dataproc Metastore. Si eso sucede, Dataproc Metastore intentará reservar rangos de direcciones IP privadas fuera de los rangos RFC 1918 para la creación del servicio. Para obtener una lista de los rangos privados que no son RFC 1918 compatibles, consulta Rangos válidos en la documentación de la red de VPC.
Las direcciones IP privadas que no son RFC 1918 que se usan en Dataproc Metastore pueden entrar en conflicto con un rango en una red local que está conectada a la red de VPC proporcionada. Para verificar la lista de direcciones IP privadas RFC 1918 y que no son RFC 1918 reservadas por Dataproc Metastore, haz lo siguiente:
gcloud compute addresses list \
--project NETWORK_PROJECT_ID \
--filter="purpose:VPC_PEERING AND name ~ cluster|resourcegroup"
Si se determina un conflicto y no se puede mitigar si vuelves a configurar la red local, borra el servicio de Dataproc Metastore ofensivo y vuelve a crearlo después de 2 horas.
Para obtener más información, consulta Agotamiento del rango de direcciones IP.
Situaciones de error de tiempo de espera de la operación
Las siguientes situaciones de error dan como resultado un servicio que no responde o tiempos de espera de operación.
Usa registros de auditoría para solucionar problemas de tiempos de espera de la operación
Para solucionar problemas de tiempos de espera de la operación del servicio, usa el Explorador de registros en la Google Cloud consola para recuperar las entradas de registro de auditoría de tu proyecto de Cloud.
En el panel Compilador de consultas, selecciona Recurso auditado o audited_resource como
el Google Cloud tipo de recurso, seguido de Dataproc Metastore o
metastore.googleapis.com como el servicio. Seleccionar un método es opcional.
Para obtener más información, consulta Visualizar los registros.
No disponibilidad del servicio
Los servicios de Dataproc Metastore pueden dejar de estar disponibles por varios motivos y causar fallas. Entre los motivos comunes por los que esto puede ocurrir, se incluyen el uso elevado de CPU o los errores de falta de memoria.
El problema puede deberse a una carga alta o a que se consultan muchas tablas y particiones. Para evitar este problema, te recomendamos que uses el nivel Enterprise, que proporciona escalabilidad flexible, tolerancia a errores y alta disponibilidad de varias zonas mientras controla cargas de trabajo pesadas.
Para solucionar problemas de falta de memoria, usa el Explorador de registros en la Google Cloud consola para recuperar las entradas de registro de auditoría de tu proyecto de Cloud.
- En el Explorador de registros, haz clic en Compilador de consultas.
- Selecciona los siguientes filtros:
- Tipo de recurso:
metastore.googleapis.com/Services - Gravedad:
ERROR - Palabra clave:
OutofMemoryError
- Tipo de recurso:
Para obtener más información, consulta Visualizar los registros.
Situaciones de error de importación y exportación
En esta sección, se describen problemas comunes de importación y exportación de Dataproc Metastore.
Falla la importación porque las versiones de Hive no coinciden
Cuando importas metadatos, las versiones del almacén de metadatos de Hive y de Dataproc Metastore deben ser compatibles. Es posible que falle la importación si no coinciden.
Para obtener más información sobre la compatibilidad, consulta la política de versión.
Puedes consultar Cloud Logging para ver si encontraste este error. El siguiente mensaje es un ejemplo de este error.
Metastore schema version is not compatible. Hive Version: 3.1.0, Database Schema Version: 2.3.0
Falla la importación porque faltan archivos de tabla de Hive
Cuando se prepara la importación para Avro, debe haber un archivo para cada tabla de Hive, incluso si la tabla está vacía; de lo contrario, la importación fallará.
Puedes usar el Dataproc Metastore Toolkit como referencia para verificar los esquemas de metadatos de Hive correctos.
El agente de servicio o el usuario no tienen los permisos necesarios
El agente de servicio de Dataproc Metastore (service-CUSTOMER_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com)
y el usuario que importa los metadatos deben tener el siguiente permiso de lectura en
el bucket de Cloud Storage que se usa para la importación:
Para MySQL, deben tener permiso
storage.objects.geten el objeto de Cloud Storage (archivo de volcado de SQL) que se usa para la importación.Para Avro, deben tener permiso
storage.objects.geten el bucket de Cloud Storage que se usa para la importación.
Para las exportaciones, el agente de servicio de Dataproc Metastore
(service-CUSTOMER_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com)
y el usuario que crea la exportación deben tener storage.objects.create
permiso en el bucket.
Falla el trabajo porque el archivo de la base de datos es demasiado grande
Si el archivo de tu base de datos es demasiado grande, puede tardar más que el límite de tiempo de espera del trabajo en completar el proceso de importación o exportación. Si la importación no puede completarse dentro del límite de tiempo de espera del trabajo de 3 horas, puedes dividir tus metadatos en varias instancias de Dataproc Metastore.
Situaciones de error de copia de seguridad y restablecimiento
En esta sección, se describen problemas comunes de copia de seguridad y restablecimiento de Dataproc Metastore.
No se puede crear una copia de seguridad nueva para un servicio
Si ya hay 7 copias de seguridad en un servicio, primero debes borrar una de forma manual antes de crear una nueva. Puedes borrar las copias de seguridad existentes desde la pestaña Copia de seguridad/Restablecimiento.
El usuario no tiene los permisos necesarios
Para crear una copia de seguridad de los metadatos, debes solicitar un rol de IAM que contenga el permiso de IAM metastore.backups.create.
Para restablecer los metadatos, debes solicitar un rol de IAM que contenga los permisos de IAM metastore.services.restore y metastore.backups.use.
Falla el trabajo porque el archivo de metadatos de servicio es demasiado grande
Si el archivo de metadatos de servicio es demasiado grande, puede tardar más que el límite de tiempo de espera del trabajo de una hora en completar el proceso de copia de seguridad o restablecimiento.
Situaciones de error del clúster de Managed Service para Apache Spark
En las siguientes secciones, se describen problemas comunes de Managed Service para Apache Spark y de clústeres autoadministrados.
Falla la conexión del clúster de Managed Service para Apache Spark debido a versiones no coincidentes
Cuando conectas un clúster de Managed Service para Apache Spark, la imagen de Managed Service para Apache Spark y la versión de Hive de Dataproc Metastore deben ser compatibles. Consulta las siguientes páginas de control de versiones de imágenes para asegurarte de que la versión de Hive sea compatible:
- Versiones de lanzamiento de Managed Service para Apache Spark 2.0.x
- Versiones de lanzamiento de Managed Service para Apache Spark 1.5.x
- Versiones de lanzamiento de Managed Service para Apache Spark 1.4.x
Para obtener más información, consulta la lista de versiones de imágenes de Managed Service para Apache Spark.
Falla la creación del clúster de Managed Service para Apache Spark debido a roles insuficientes
Cuando se crea un clúster de Managed Service para Apache Spark, la creación del clúster falla con el siguiente mensaje de error:
gcloud.dataproc.clusters.create) INVALID_ARGUMENT: Default Service Account '**********-compute@developer.gserviceaccount.com' is missing required permissions: [dataproc.agents.create, dataproc.agents.delete, dataproc.agents.get, dataproc.agents.update, dataproc.tasks.lease, dataproc.tasks.listInvalidatedLeases, dataproc.tasks.reportStatus]. Service Accounts must have either 'Dataproc/Dataproc Worker' role or all permissions granted by the role.
Esto puede ocurrir cuando intentas crear un clúster de Managed Service para Apache Spark y conectarlo a tu Dataproc Metastore.
Para solucionar este problema, otorga roles/dataproc.worker a tu cuenta de servicio.
En el siguiente ejemplo, se muestra cómo hacerlo con algunos valores de muestra.
gcloud projects add-iam-policy-binding my_project \
--member=219315-compute@developer.gserviceaccount.com \
--role=roles/dataproc.workerFalla la conexión al almacén de metadatos debido a problemas de zona horaria
Tu archivo de Hive muestra el error The server time zone value 'CDT' is
unrecognized or represents more than one time zone.
Si no puedes conectarte al almacén de metadatos desde Managed Service para Apache Spark, entonces debes borrar el clúster actual y actualizar el comando gcloud dataproc clusters create o la herramienta de automatización para incluir el siguiente parámetro de zona horaria:
--metadata "hive-metastore-uri=jdbc:mysql://10.207.26.77:3306/hive_metastore?serverTimezone=CST6CDT"
Soluciona problemas de la CLI de Google Cloud
Si te encuentras con un problema en el que un comando de la gcloud CLI no está disponible o si el comando se comporta de forma diferente a la que se documenta, intenta actualizar la gcloud CLI:
gcloud components update
¿Qué sigue?
- Para resolver los errores, consulta Mensajes de error.