En este documento, se proporciona orientación para solucionar problemas comunes que se producen cuando se usa un conector de MirrorMaker 2.0.
Errores comunes de MirrorMaker 2.0
En esta sección, se enumeran los errores comunes que puedes ver cuando usas un conector de MirrorMaker 2.0.
Se agotó el tiempo de espera para la asignación de un nodo
Si el clúster de Connect no puede acceder al clúster de Kafka, recibirás el siguiente error:
Timed out waiting for a node assignment.
Estos son algunos de los motivos de este error:
El clúster de Connect no puede autenticarse con el clúster de Kafka. Verifica los parámetros de autenticación en la configuración del conector. Para obtener más información, consulta Crea un conector de MirrorMaker 2.0.
Un problema de redes impide que el clúster de Connect llegue al clúster de Kafka. Sigue los pasos que se indican en Soluciona problemas de redes.
Error en la resolución de DNS
Si el clúster de Connect no puede resolver la dirección de arranque, recibirás el siguiente error:
No resolvable bootstrap urls given in bootstrap.servers
También es posible que recibas un error similar al siguiente:
Couldn't resolve server BOOTSTRAP_ADDRESS from bootstrap.servers as DNS resolution failed for BOOTSTRAP_ADDRESS
Para resolver este problema, primero verifica que la dirección de arranque sea correcta. Si es así, sigue los pasos que se indican en Cómo solucionar problemas de resolución de nombres de dominio.
Credenciales no válidas
Si el clúster de Connect no puede autenticarse con uno de los clústeres de Kafka, recibirás un error similar al siguiente:
org.apache.kafka.clients.NetworkClient processDisconnection
SEVERE: [AdminClient clientId=source->target|mm2|offset-syncs-source-admin] Connection to
node 11 (broker-1.BOOTSTRAP_ADDRESS/IP_ADDRESS:9092) failed authentication due to: Authentication
failed during authentication due to invalid credentials with SASL mechanism OAUTHBEARER
Estas son algunas de las posibles causas de este error:
A la cuenta de servicio de Kafka administrada de uno o ambos clústeres le falta el rol de agente de servicio de Kafka administrado.
Para cada clúster de Managed Service para Apache Kafka, otorga el rol de IAM de agente de servicio de Kafka administrado a la cuenta de servicio de Kafka administrado del proyecto de ese clúster. Para obtener más información, consulta Configura las redes de Managed Service para Apache Kafka.
No se pudo realizar la autenticación en un clúster externo o autoadministrado.
En el caso de los clústeres de Kafka autoadministrados o externos, asegúrate de que las propiedades de autenticación sean correctas para el clúster. Los detalles dependen de la configuración del clúster. Para obtener más información, consulta Crea un conector de MirrorMaker 2.
Los clústeres no están dentro del mismo perímetro de los Controles del servicio de VPC.
Si usas los Controles del servicio de VPC para aislar tus clústeres de Kafka, asegúrate de que estén dentro del mismo perímetro. Para obtener más información, consulta la descripción general de los Controles del servicio de VPC.
Se rechazó la operación de la principal
Si creas una lista de control de acceso (LCA) de Apache Kafka y la LCA no otorga permisos de lectura y escritura a la cuenta de servicio de Kafka administrada, recibirás un error similar al siguiente:
Principal = User:SERVICE_ACCOUNT is Denied operation = OPERATION from host = HOST
on resource = Topic:LITERAL:TOPIC for request = TOPIC with resourceRefCount = 1 based on rule DefaultDeny
De forma predeterminada, los clústeres de Managed Service para Apache Kafka operan con allow.everyone.if.no.acl.found establecido en true, lo que otorga a la cuenta de servicio de Managed Kafka acceso de lectura y escritura a los recursos del clúster.
Sin embargo, si configuras alguna LCA, estas deben otorgar permisos de lectura y escritura a la cuenta de servicio. De lo contrario, el clúster de Connect perderá los permisos de lectura y escritura en todos los temas, y perderá el permiso de lectura en todos los grupos de consumidores.
Para resolver este problema, agrega entradas de ACL que otorguen los permisos necesarios a la cuenta de servicio de Kafka administrado. Para ello, sigue los pasos que se indican en Cómo agregar una entrada de ACL a una ACL de Kafka administrada.
El principal es
User:service-PROJECT_NUMBER@gcp-sa-managedkafka.iam.gserviceaccount.com. Reemplaza PROJECT_NUMBER por el número del proyecto de Google Cloud .Otorga acceso de lectura y escritura a temas específicos, y otorga acceso de lectura a grupos de consumidores específicos. Para obtener información sobre cómo especificar recursos para una LCA, consulta ID de LCA.
Los mensajes no se duplican
Para solucionar este problema, verifica la configuración del conector. Si usas el clúster principal de Kafka como clúster de origen, establece producer.override.bootstrap.servers en la dirección de inicio del clúster de destino.
Soluciona problemas de herramientas de redes
Si tienes problemas de red cuando usas un conector de MirrorMaker 2.0, sigue estos pasos para solucionarlos.
Cuando te conectes a un clúster de Managed Service para Apache Kafka, ten en cuenta lo siguiente:
Busca la subred de trabajadores del clúster de Connect y encuentra la red de VPC de la subred.
Consulta la configuración del clúster principal de Kafka y busca la lista de subredes. Al menos una subred debe estar en la misma red de VPC que la subred del clúster de Connect.
Repite el paso anterior para el clúster secundario de Kafka.
Asegúrate de que las reglas de firewall permitan que la interfaz de Private Service Connect llegue a los clústeres de Kafka de origen y destino.
Cuando te conectes a un clúster de Kafka externo o autoadministrado, haz lo siguiente:
Busca la subred de trabajadores del clúster de Connect y encuentra la red de VPC de la subred.
Verifica que se pueda acceder al clúster de Kafka desde la red de VPC. Por ejemplo, puedes implementar el clúster de Kafka en la misma red de VPC o hacer que el clúster sea accesible desde la red de VPC con la VPC compartida o las zonas de DNS.
1 Si se accede al clúster de Kafka de origen o de destino a través de Internet, configura un Cloud NAT para permitir que los trabajadores del clúster de Connect accedan a Internet.
Para obtener más información sobre las redes en Managed Service para Apache Kafka, consulta Managed Service para Apache Kafka.
Soluciona problemas de resolución de nombres de dominio
Si tienes problemas con la resolución de nombres de dominio cuando usas un conector de MirrorMaker 2.0, sigue estos pasos para solucionarlos:
Busca la subred de trabajadores del clúster de Connect y encuentra la red de VPC de la subred.
En la consola de Google Cloud , ve a la página Zonas de Cloud DNS.
Selecciona el proyecto Google Cloud que contiene la red de VPC.
Haz clic en Zonas y verifica que el nombre del dominio aparezca en la lista de zonas de DNS.
Consulta la configuración del clúster de Connect y busca la lista de dominios DNS que se pueden resolver. Si el nombre de dominio no aparece en la lista, actualiza el clúster de Connect para agregar el dominio DNS. Consulta Actualiza un clúster de Connect.