Soluciona problemas relacionados con la creación de clústeres

Usa la herramienta gcpdiag

gcpdiag es una herramienta de código abierto. No es un producto de Google Cloud admitido oficialmente. Puedes usar la herramienta gcpdiag para identificar y corregir los problemas de Google Cloud problemas del proyecto. Para obtener más información, consulta la Proyecto gcpdiag en GitHub.

La herramienta gcpdiag te ayuda a descubrir los siguientes de creación de clústeres a través de las siguientes verificaciones:

  • Errores de stock: Evalúa los registros del Explorador de registros para descubrir stock agotado en regiones y zonas.
  • Cuota insuficiente:Comprueba la disponibilidad de la cuota en Dataproc. proyecto de clúster.
  • Configuración de red incompleta: Realiza pruebas de conectividad de red. incluidas las verificaciones de las reglas de firewall necesarias y las IP internas y externas configuración. Si se borró el clúster, la herramienta de gcpdiag no puede verificar la conectividad de red.
  • Configuración incorrecta entre proyectos: Comprueba el servicio entre proyectos. y revisa los roles adicionales y la aplicación de las políticas de la organización.
  • Roles de IAM de VPC compartida faltantes: Si el clúster de Dataproc usa una red de VPC compartida, comprueba que se agreguen los servicios roles de la cuenta.
  • Fallas en la acción de inicialización: Evalúa el Explorador de registros. para detectar los tiempos de espera y las fallas de las secuencias de comandos de la acción de inicialización.

Si quieres obtener una lista de los pasos para crear clústeres de gcpdiag, consulta Pasos posibles.

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

  1. Completa y copia el siguiente comando.
  2. gcpdiag runbook dataproc/cluster-creation \
      --project=PROJECT_ID \
      --parameter cluster_name=CLUSTER_NAME \
      --parameter OPTIONAL_FLAGS
  3. Abre la consola de Google Cloud y activa Cloud Shell.
  4. Abre la consola de Cloud
  5. Pega el comando copiado.
  6. Ejecuta el comando gcpdiag, que descarga la imagen de Docker gcpdiag. y, luego, realiza verificaciones de diagnóstico. Si corresponde, sigue las instrucciones del resultado. para corregir errores en las verificaciones.

Docker

Puedes ejecuta gcpdiag con un wrapper que inicia gcpdiag en una contenedor de Docker. Docker o Podman debe estar instalado.

  1. Copia y ejecuta el siguiente comando en tu estación de trabajo local.
    curl https://gcpdiag.dev/gcpdiag.sh >gcpdiag && chmod +x gcpdiag
  2. Ejecuta el comando gcpdiag.
    ./gcpdiag runbook dataproc/cluster-creation \
      --project=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 destino. Clúster de Dataproc en tu proyecto
    • OPTIONAL_PARAMETERS: Agrega uno o más de los siguientes siguientes parámetros opcionales. Estos parámetros son obligatorios si se borró el clúster.
      • cluster_uuid: El UUID del Dataproc de destino clúster en tu proyecto
      • service_account: El clúster de Dataproc Cuenta de servicio de VM
      • subnetwork: La subred del clúster de Dataproc ruta de acceso del URI completa
      • internal_ip_only: Verdadero o falso
      • cross_project: El ID entre proyectos si el El clúster de Dataproc usa una cuenta de servicio de VM en otro proyecto

Marcas útiles:

Para obtener una lista y una descripción de todas las marcas de la herramienta gcpdiag, consulta el 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 0 de los 2 datanodes o administradores de nodos mínimos obligatorios en ejecución.

    Causa: El nodo principal no puede crear el clúster porque no puede comunicarse con los nodos trabajadores.

    Solución:

  • Permiso de compute.subnetworks.use requerido para projects/{projectId}/regions/{region}/subnetworks/{subnetwork}

    Causa: Este error puede ocurrir cuando intentas configurar un clúster de Dataproc. clúster con una red de VPC en otro proyecto y el Agente de servicio La cuenta de servicio no tiene los permisos necesarios en la VPC compartida el proyecto 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 cumplir con la solicitud (resource type:compute)

    Causa: La zona que se usa para crear el clúster no tiene suficientes recursos.

    Solución:

  • 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 al 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:

  • 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 es no disponible.

    Solución:

    • Crear 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 versión

    Causa: Se borró definitivamente el repositorio de adaptaciones antiguas de Debian.

    Solución:

    Agrega el siguiente código antes del 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 configuración ruta a Internet. 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 para obtener trabajos e informar sobre el estado. La ruta predeterminada generada por el sistema a Internet podría haberse borrado.

    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.