Usa la herramienta gcpdiag
gcpdiag
es una herramienta de código abierto. No es un producto de Google Cloud compatible oficialmente.
Puedes usar la herramienta gcpdiag
para identificar y corregir problemas del proyecto de Google Cloud. Para obtener más información, consulta el proyecto en GitHub.
La herramienta gcpdiag
te ayuda a descubrir los siguientes problemas de creación de clústeres de Dataproc realizando las siguientes verificaciones:
- Errores de falta de existencias: Evalúa los registros del Explorador de registros para descubrir faltantes en las regiones y zonas.
- Cuota insuficiente: Verifica la disponibilidad de la cuota en el proyecto del clúster de Dataproc.
- Configuración de red incompleta: Realiza pruebas de conectividad de red, incluidas verificaciones de las reglas de firewall necesarias y la configuración de IP interna y externa. Si se borró el clúster, la herramienta
gcpdiag
no puede realizar una verificación de conectividad de red. - Configuración incorrecta entre proyectos: Busca cuentas de servicio entre proyectos y revisa los roles adicionales y la aplicación forzosa de las políticas de la organización.
- Faltan roles de IAM de VPC compartida: Si el clúster de Dataproc usa una red de VPC compartida, verifica si se agregaron los roles de cuenta de servicio necesarios.
- Fallas de la acción de inicialización: Evalúa los registros del Explorador de registros para descubrir fallas y tiempos de espera de la secuencia de comandos de la acción de inicialización.
Para obtener una lista de los pasos de creación de clústeres de gcpdiag
, consulta Pasos potenciales.
Ejecuta el comando gcpdiag
Puedes ejecutar el comando gcpdiag
desde Cloud Shell en la consola de Google Cloud o dentro de un contenedor de Docker.
Consola de Google Cloud
- Completa y, luego, copia el siguiente comando.
- Abre la consola de Google Cloud y activa Cloud Shell. Abre la consola de Cloud
- Pega el comando copiado.
- Ejecuta el comando
gcpdiag
, que descarga la imagen de Dockergcpdiag
y, luego, realiza verificaciones de diagnóstico. Si corresponde, sigue las instrucciones de salida para corregir las verificaciones que fallaron.
gcpdiag runbook dataproc/cluster-creation \
--parameter project_id=PROJECT_ID \
--parameter cluster_name=CLUSTER_NAME \
--parameter OPTIONAL_FLAGS
Docker
Puedes
ejecutar gcpdiag
con un wrapper que inicie gcpdiag
en un
contenedor de Docker. Se debe instalar Docker o
Podman.
- Copia y ejecuta el siguiente comando en tu estación de trabajo local.
curl https://gcpdiag.dev/gcpdiag.sh >gcpdiag && chmod +x gcpdiag
- Ejecuta el comando
gcpdiag
../gcpdiag runbook dataproc/cluster-creation \ --parameter project_id=PROJECT_ID \ --parameter cluster_name=CLUSTER_NAME \ --parameter OPTIONAL_FLAGS
Consulta los parámetros disponibles para este runbook.
Reemplaza lo siguiente:
- PROJECT_ID: Es el ID del proyecto que contiene el recurso.
- CLUSTER_NAME: Es el nombre del clúster de Dataproc de destino en tu proyecto.
- OPTIONAL_PARAMETERS: Agrega uno o más de los siguientes parámetros opcionales. Estos parámetros son obligatorios si se borró el clúster.
cluster_uuid
: Es el UUID del clúster de Dataproc de destino en tu proyecto.service_account
: La cuenta de servicio de VM del clúster de Dataprocsubnetwork
: Es la ruta de acceso URI completa de la subred del clúster de Dataproc.internal_ip_only
: Verdadero o falsocross_project
: Es el ID entre proyectos si el clúster de Dataproc usa una cuenta de servicio de VM en otro proyecto.
Marcas útiles:
--universe-domain
: Si corresponde, el dominio de Trusted Partner Sovereign Cloud que aloja el recurso--parameter
o-p
: Parámetros del runbook
Para obtener una lista y una descripción de todas las marcas de la herramienta gcpdiag
, consulta las instrucciones de uso de gcpdiag
.
Comprende y corrige los errores de creación de clústeres
En esta sección, se enumeran los mensajes de error de Dataproc, y sus causas comunes y soluciones.
Se agotó el tiempo de espera de la operación: Solo se ejecutan 0 de cada 2 nodos de datos o nodos mínimos necesarios.
Causa: El nodo principal no puede crear el clúster porque no puede comunicarse con los nodos trabajadores.
Solución:
- Verifica las advertencias de las reglas de firewall.
- Asegúrate de que las reglas de firewall sean las correctas. Para obtener más información, consulta la Descripción general de las reglas de firewall predeterminadas de Dataproc.
- Realiza una prueba de conectividad en la consola de Google Cloud para determinar qué bloquea la comunicación entre los nodos principales y los trabajadores.
Permiso
compute.subnetworks.use
obligatorio paraprojects/{projectId}/regions/{region}/subnetworks/{subnetwork}
Causa: Este error puede ocurrir cuando intentas configurar un clúster de Dataproc mediante una red de VPC en otro proyecto y la cuenta de servicio del agente de servicio de Dataproc no tiene los permisos necesarios en el proyecto de VPC compartida que aloja la red.
Solución: Sigue los pasos que se indican en Crea un clúster que use una red de VPC en otro proyecto.
La zona
projects/zones/{zone}
no tiene suficientes recursos disponibles para completar la solicitud(resource type:compute)
Causa: La zona que se usa para crear el clúster no tiene suficientes recursos.
Solución:
- Crea el clúster en una zona diferente.
- Usa la función de posición de zona automática de Dataproc.
Errores de cuota excedida
Cuota insuficiente de CPUS/CPUS_ALL_REGIONS
Cuota insuficiente “DISKS_TOTAL_GB”
Cuota insuficiente “IN_USE_ADDRESSES”Causa: La solicitud de CPU, disco o dirección IP supera la cuota disponible.
Solución: Solicita una cuota adicional en la consola de Google Cloud.
No se pudo realizar la acción de inicialización
Causa: No se pudo instalar la acción de inicialización proporcionada durante la creación del clúster.
Solución:
- Consulta los lineamientos y consideraciones para las acciones de inicialización.
- Examina los registros de salida. El mensaje de error debe proporcionar un vínculo a los registros en Cloud Storage.
No se pudo inicializar el nodo {cluster-name}: {component}
Causa: No se pudo inicializar un componente de Dataproc.
Solución: Consulta los siguientes vínculos:
No se pudo crear el clúster: Se agotó el espacio de direcciones IP
Causa: El espacio de direcciones IP necesario para aprovisionar los nodos del clúster solicitados no está disponible.
Solución:
- Crea un clúster en una subred o red diferente.
- Reduce el uso en la red para liberar espacio de direcciones IP.
- Espera hasta que haya suficiente espacio de IP disponible en la red.
Mensaje de error de la secuencia de comandos de inicialización: El repositorio REPO_NAME ya no tiene un archivo de lanzamiento
Causa: Se borró el repositorio de portabilidad a versiones anteriores de Debian oldstable.
Solución:
Agrega el siguiente código antes del código que ejecuta
apt-get
en tu secuencia de comandos de inicialización.oldstable=$(curl -s https://deb.debian.org/debian/dists/oldstable/Release | awk '/^Codename/ {print $2}'); stable=$(curl -s https://deb.debian.org/debian/dists/stable/Release | awk '/^Codename/ {print $2}'); matched_files="$(grep -rsil '\-backports' /etc/apt/sources.list*)" if [[ -n "$matched_files" ]]; then for filename in "$matched_files"; do grep -e "$oldstable-backports" -e "$stable-backports" "$filename" || \ sed -i -e 's/^.*-backports.*$//' "$filename" done fi
No se puede acceder a la red: dataproccontrol-REGION.googleapis.com/…*
Causa: Es posible que la red de VPC del clúster de Dataproc no tenga una ruta a Internet requerida. El agente de Dataproc que se ejecuta en las VMs del clúster necesita una ruta a Internet para acceder a la API de control de Dataproc y obtener trabajos y estados de informes. Es posible que se haya borrado la ruta predeterminada generada por el sistema a Internet.
Solución:
Agrega una ruta a Internet a la red de VPC del clúster:
0.0.0.0/0
para IPv4 y::/0
para IPv6 con--next-hop-gateway=default-internet-gateway
. Agrega reglas de firewall para el control de acceso.
Lee información relacionada
- Herramientas de supervisión y solución de problemas de Dataproc
- Diagnostica clústeres de Dataproc
- Preguntas frecuentes sobre Dataproc