En esta página, se muestra cómo resolver problemas cuando creas o configuras un clúster de Managed Service para Apache Kafka.
Errores de creación del clúster de Kafka
En esta sección, se enumeran los errores que podrías encontrar cuando creas un clúster de Kafka.
El servicio no tiene permiso para acceder a la clave de Cloud KMS
El siguiente problema se produce cuando el agente de servicio de Managed Service para Apache Kafka no tiene el permiso necesario para acceder a la clave de Cloud KMS.
Service agent service-${PROJECT_NUMBER}@gcp-sa-managedkafka.iam.gserviceaccount.com
has not been granted the required role cloudkms.cryptoKeyEncrypterDecrypter to
encrypt data using the KMS key.`
Para resolver este problema, otorga a la cuenta de servicio el rol Encriptador/Desencriptador de CryptoKey de Cloud KMS en la clave de Cloud KMS. Para obtener más información, consulta Roles obligatorios para configurar CMEK.
El servicio no tiene permiso para recuperar la subred
El siguiente problema se produce cuando el agente de servicio de Managed Service para Apache Kafka no tiene el rol necesario para configurar la red en la red de VPC en la que se ejecutan los clientes de Kafka.
Service does not have permission to retrieve subnet. Please grant
service-${PROJECT_NUMBER}@gcp-sa-managedkafka.iam.gserviceaccount.com the
managedkafka.serviceAgent role in the IAM policy of the project
${SUBNET_PROJECT} and ensure the Compute Engine API is enabled in project
${SUBNET_PROJECT}`
Para resolver este problema, otorga a la cuenta de servicio el rol Agente de servicio de Kafka administrado. Para obtener más información, consulta Conecta un clúster en varios proyectos.
Errores de redes
En esta sección, se enumeran los errores que podrías encontrar cuando configuras la red para un clúster de Kafka.
El servicio no pudo configurar la red
El siguiente problema se produce si Managed Service para Apache Kafka no puede conectar el clúster de Kafka a tu subred de nube privada virtual.
Managed Service for Apache Kafka failed to set up networking in VPC subnet.
Para resolver este problema, realiza los siguientes pasos:
Habilita las APIs de Compute Engine y Cloud DNS en el proyecto superior de la red de VPC del consumidor.
Si el clúster de Managed Service para Apache Kafka y la red de VPC del consumidor se encuentran en proyectos diferentes, configura los permisos necesarios. Consulta Conecta un clúster en varios proyectos.
Asegúrate de que ninguna restricción de política de la organización impida que el servicio cree los recursos necesarios en el proyecto de la red de VPC del consumidor.
Para obtener más información, consulta Configura la red para Managed Service para Apache Kafka.
Las aplicaciones cliente no pueden conectarse
Si tus aplicaciones cliente no pueden conectarse a tu clúster, verifica los siguientes problemas:
Asegúrate de que los clientes usen la dirección de bootstrap correcta.
Asegúrate de que los clientes de Kafka se ejecuten en una red de VPC configurada para acceder al clúster de Managed Service para Apache Kafka.
Si ejecutas el cliente de Kafka en una computadora o laptop, puedes configurar una instancia de Compute Engine para usarla como proxy para acceder al clúster de Managed Service para Apache Kafka. Para obtener más información, consulta Configura una máquina cliente.
Errores de autenticación
En esta sección, se enumeran los errores que podrías encontrar cuando las aplicaciones cliente se autentican en tu clúster de Kafka.
Falla la autenticación SASL
El siguiente problema se produce cuando un cliente no puede conectarse al clúster mediante la autenticación SASL.
Exception in thread "main" java.util.concurrent.ExecutionException:
org.apache.kafka.common.errors.SaslAuthenticationException:
Authentication failed: Invalid username or password
Para resolver el problema, verifica las siguientes causas:
La contraseña tiene un formato incorrecto y no representa un objeto JSON de clave de cuenta de servicio válido cuando se decodifica en base64 ni un token de acceso válido.
El principal de autenticación no tiene el permiso
managedkafka.clusters.connecten el clúster.El nombre de usuario proporcionado no coincide con el principal de la credencial.
Si un cliente experimenta desconexiones frecuentes cada 30 minutos, esto puede deberse a que el cliente no admite la reautenticación periódica.
Los agentes de Managed Service para Apache Kafka requieren que los clientes se vuelvan a autenticar cada 30 minutos, lo que se aplica mediante la propiedad del agente connections.max.reauth.ms.
Verifica que la versión de tu biblioteca cliente de Kafka sea 2.2.0 o posterior y que admita la reautenticación.
Para obtener más información, consulta Configura la autenticación SASL.
Errores operativos
En esta sección, se enumeran los errores que pueden ocurrir mientras se ejecutan tus cargas de trabajo de Kafka.
Errores de falta de espacio en el disco
Si un agente se queda sin espacio en el disco, no puede implementar segmentos activos ni escribir segmentos nuevos, lo que impide que los clientes produzcan o consuman mensajes. Los síntomas incluyen lo siguiente:
El rendimiento del cliente se degrada de forma inesperada. Por ejemplo, los productores experimentan errores de tiempo de espera y el retraso aumenta de manera constante en los consumidores.
El uso del disco del agente es muy alto (>85%).
Los recuentos de réplicas sincronizadas (ISR) caen por debajo del factor de replicación.
Los registros del clúster muestran errores como los siguientes:
Error processing append operation on partition PARTITION_ID. org.apache.kafka.common.errors.NotEnoughReplicasException: The size of the current ISR Set(10) is insufficient to satisfy the min.isr requirement of 2 for partition PARTITION_ID
Para evitar errores de falta de espacio en el disco, supervisa la capacidad del clúster y la replicación de particiones. Para obtener más información, consulta Supervisa los clústeres de Kafka para garantizar la confiabilidad.
Si un agente se queda sin espacio en el disco, aumenta el tamaño del disco del agente. También considera escalar verticalmente el clúster para agregar agentes nuevos.
La compactación de registros combinada con un espacio de claves muy grande puede generar errores de falta de espacio en el disco. Cuando la compactación de registros está habilitada, Kafka almacena el mensaje más reciente para cada clave en el almacenamiento local, por lo que el uso del disco del agente aumenta con la cantidad de claves únicas.
Los clientes experimentan desconexiones temporales
Managed Service para Apache Kafka puede realizar actualizaciones que requieren reinicios progresivos en los agentes. Durante este proceso, es posible que fallen las solicitudes a agentes individuales, pero estas fallas son transitorias. Para obtener más información, consulta Actualizaciones y parches.
No es necesario que realices ninguna acción durante los reinicios del agente. Sin embargo, es posible que observes lo siguiente:
Pausas en el procesamiento mientras los líderes de partición y los coordinadores de grupos de consumidores conmutan por error a otros agentes.
Rebalanceo de grupos de consumidores, que pausa temporalmente el consumo.
Errores de conexión o tiempos de espera temporales cuando se confirman compensaciones. Las bibliotecas cliente de uso común controlan estos errores automáticamente.
Un aumento temporal en el recuento de particiones con replicación insuficiente (
broker/under_replicated_partitions) cuando se reinicia un agente.Un aumento en la métrica Under-MinISR Partitions (
broker/under_min_isr_partitions). Es probable que este aumento corresponda a un tema de supervisión interno que no se replica y es un comportamiento esperado siempre que el recuento sea 1 para cada agente. Un valor mayor que 1 podría indicar un problema con los temas de datos o metadatos.
La actualización manual de ciertas propiedades del clúster, como el recuento de vCPU y la memoria, también puede hacer que el servicio realice un reinicio progresivo. Consulta Actualiza un clúster de Managed Service para Apache Kafka.