Apache Кафка выдает ошибку «Не удается канонизировать адрес»

#apache-kafka #apache-zookeeper

Вопрос:

Я запускаю Kafka в кластерном режиме с 3 экземплярами Zookeeper и 3 брокерами Kafka на 3 разных хостах unix. Сначала я запустил все 3 экземпляра Zookeeper, а затем начал запускать брокеров Кафки. 2 брокера начали нормально, но третий брокер выдает следующую ошибку:

 [2021-06-02 18:51:59,101] WARN Session 0x0 for server 10.32.141.8/<unresolved>:2181, unexpected error, closing socket connection and attempting reconnect (org.apache.zookeeper.ClientCnxn)
java.lang.IllegalArgumentException: Unable to canonicalize address 10.32.141.8/<unresolved>:2181 because it's not resolvable
        at org.apache.zookeeper.SaslServerPrincipal.getServerPrincipal(SaslServerPrincipal.java:65)
        at org.apache.zookeeper.SaslServerPrincipal.getServerPrincipal(SaslServerPrincipal.java:41)
        at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1001)
        at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1060)
 

Ответ №1:

Файл /etc/resolv.conf-это файл конфигурации распознавателя для операционных систем Linux и UNIX, подобных. Он используется для настройки серверов dns-имен, сравнения определений между рабочими и нерабочими серверами

Ответ №2:

удалите все кэшированные файлы журнала или измените каталог пути к журналу файла server.properties, который вы собираетесь запустить. данные файлов журнала кэша могут быть затронуты из-за истории вашего сервера.

если вы используете один и тот же локальный хост или один и тот же экземпляр, файл журнала должен находиться в разных местах. измените все log.dirs параметры файла server.properties, который вы запускаете.

 #broker1
log.dirs=/tmp/kafka-logs-1
 
 #broker2
log.dirs=/tmp/kafka-logs-2
 
 #broker3
log.dirs=/tmp/kafka-logs-3