ERROR Error al enviar mensaje al tema test_topic con clave: nulo, valor: 11 bytes con error:

problema:

Hay un error al producir datos para el corredor de kafka mediante el nombre de host abreviado, el nombre de host completo y la IP del host. Los errores específicos son los siguientes:

  • Error 1

[root @ localhost] # ./bin/kafka-console-producer.sh --broker-list node01: 9092 --topic test_topic
[2020-12-1 16: 25: 33,972] WARN Eliminando server node01: 9092 de bootstrap. servidores porque la resolución de DNS falló para node01 (org.apache.kafka.clients.ClientUtils)
org.apache.kafka.common.KafkaException: no se pudo construir kafka producer
    en org.apache.kafka.clients.producer.KafkaProducer. <init> ( KafkaProducer.java:415)
    en org.apache.kafka.clients.producer.KafkaProducer. <init> (KafkaProducer.java:287)
    en kafka.producer.NewShinyProducer. <init> (BaseProducer.scala: 40)
    en kafka.tools .ConsoleProducer $ .main (ConsoleProducer.scala: 48)
    en kafka.tools.ConsoleProducer.main (ConsoleProducer.scala)
Causado por: org.apache.kafka.common.config.ConfigException: No hay URL de arranque que se
    puedan resolver en bootstrap.servers en org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses (ClientUtils.java:64)
    en org.apache.kafka. clients.producer.KafkaProducer. <init> (KafkaProducer.java:372)
    ... 4 más

 

  • Error 2

[root @ localhost] # ./bin/kafka-console-producer.sh --broker-list node01.example.com:9092 --topic test_topic
[2020-12-1 16: 27: 59,444] WARN Eliminando servidor node01. example.com:9092 de bootstrap.servers porque la resolución de DNS falló para node01.example.com (org.apache.kafka.clients.ClientUtils)
org.apache.kafka.common.KafkaException: no se pudo construir el productor kafka
    en org.apache. kafka.clients.producer.KafkaProducer. <init> (KafkaProducer.java:415)
    en org.apache.kafka.clients.producer.KafkaProducer. <init> (KafkaProducer.java:287)
    en kafka.producer.NewShinyProducer. <init > (BaseProducer.scala: 40)
    en kafka.tools.ConsoleProducer $ .main (ConsoleProducer.scala: 48)
    en kafka.tools.ConsoleProducer.main (ConsoleProducer.scala)
Causado por: org.apache.kafka.common.config.ConfigException: No hay URL de arranque que se puedan resolver en bootstrap.servers
    en org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses ( ClientUtils.java:64)
    en org.apache.kafka.clients.producer.KafkaProducer. <init> (KafkaProducer.java:372)
    ... 4 más
 

  • Error 3

[root @ localhost] # ./bin/kafka-console-producer.sh --broker-list 192.168.1.1:9092 --topic test_topic
> hello world
> [2020-12-1 16: 12: 24,583] ERROR Error cuando enviando mensaje al tema test_topic con clave: nulo, valor: 11 bytes con error: (org.apache.kafka.clients.producer.internals.ErrorLoggingCallback)
org.apache.kafka.common.errors.TimeoutException: Expirando 1 registro (s) para test_topic-0: han pasado 40094 ms desde la creación del lote más tiempo de espera

 

la razón:

Este problema se debe principalmente a que el cliente de Kafka no puede conectarse al nodo intermediario de Kafka.

El error 1 y el error 2 se deben a que la máquina no puede resolver el nombre de host abreviado y el nombre de host completo. Debe configurar el archivo / etc / hosts y agregar la dirección IP correspondiente al nombre de host abreviado y el nombre de host completo al archivo de hosts.

El error 3 se debe a que la IP y el nombre de host del nodo del broker de kafka no se agregaron al archivo / etc / hosts, y la dirección IP correspondiente al nombre de host del broker de kafka debe agregarse al archivo de hosts.

De hecho, la razón del problema anterior es que el cliente kafka solicita kafka, y kafka devuelve al cliente el nombre de host en lugar de la IP. Si el host del cliente no está equipado con hosts, el nombre de host no se puede resolver y la carga el mensaje falla.

 

resolver:

Método 1: modificar los hosts del host del cliente

Abra el archivo / etc / hosts y agregue el siguiente contenido:

192.168.1.1  node01 node01.example.com
192.168.1.2  node02 node02.example.com
192.168.1.3  node03 node03.example.com

Método 2: modificar la configuración de Kafka

Modifique el archivo server.properties y establezca el campo advertised.host.name en la ip del intermediario

 advertised.host.name = 192.168.0.1,192.168.0.2,192.168.0.3

 

Nota:


El nombre de host en hosts debe incluir el nombre de host del agente de Kafka, aquí es node01.example.com, node02.example.com, node03.example.com; de lo contrario, Kafka no se puede usar normalmente.

 

referencia:

1. https://www.cnblogs.com/snifferhu/p/5102629.html

2. https://blog.csdn.net/u013686990/article/details/103026842

Supongo que te gusta

Origin blog.csdn.net/abcdu1/article/details/111286705
Recomendado
Clasificación