Хобрук: Ваш путь к мастерству в программировании

Потребитель Kafka тихо не может подключиться к брокеру

Сегодня у нас возникла проблема, когда потребителю Kakfa не удавалось подключиться к каким-либо брокерам, и в журналах не было сообщения об ошибке. Не удалось подключиться, поскольку он подключался через SSL и указывал на неправильное хранилище доверенных сертификатов. Но хотя в данном случае это произошло из-за сбоя SSL, я видел и другие случаи, когда потребителю не удавалось подключиться, и в журналах не было сообщения об ошибке.

Есть ли способ настроить потребителя Kafka так, чтобы сообщение об ошибке регистрировалось, если потребитель не может подключиться к брокеру? Я ищу общее решение, не относящееся к проблемам с SSL-соединением.

(Мы используем: org.apache.kafka:kafka-clients:0.9.0.1 и org.springframework.kafka:spring-kafka:1.0.4.RELEASE)


  • Вы настроили log4j? 07.11.2018
  • spring-kafka:1.0.4.RELEASE - это действительно старое; все 1.x. Пользователям рекомендуется обновиться как минимум до 1.3.7 - KIP-62 позволяет использовать гораздо более простую модель потоков. Я видел это раньше (несовпадение SSL), этот клиент просто зависает без логов. Последняя версия spring-kafka - 2.2.0 (в которой используется клиент kafka 2.0.0, у которого есть тайм-ауты, которые могут помочь в решении подобных проблем). 07.11.2018
  • @GiorgosMyrianthous Мы используем SLF4J с Logback, и я могу видеть сообщения журнала уровня INFO от org.apache.kafka ... в журналах. 07.11.2018
  • @ vegemite4me Можно тогда превратить свои журналы в DEBUG? 07.11.2018
  • @GiorgosMyrianthous Да, я мог бы. Но не кажется правильным увеличивать ведение журнала в DEBUG (даже для одного класса) в такой ситуации, которая произошла при работе в производственной среде. 07.11.2018
  • Это просто для отладки, чтобы проверить, что происходит. 08.11.2018

Ответы:


1
  • подумайте об обновлении вашего клиента до более новой версии kafka-clients (в более поздних версиях некоторые операции, такие как seek, начали бросать вместо зависания - это позволит вам быстрее узнать о проблемах)
  • настроить log4j, особенно класс org.apache.kafka.clients.NetworkClient (он регистрирует, если не может найти брокера)
  • подумайте о настройке default.api.timeout.ms или в более старых версиях metadata.fetch.timeout.ms, чтобы время ожидания было быстрее
07.11.2018
Новые материалы

Освоение информационного поиска: создание интеллектуальных поисковых систем (глава 1)
Глава 1. Поиск по ключевым словам: основы информационного поиска Справочная глава: «Оценка моделей поиска информации: подробное руководство по показателям производительности » Глава 1: «Поиск..

Фишинг — Упаковано и зашифровано
Будучи старшим ИТ-специалистом в небольшой фирме, я могу делать много разных вещей. Одна из этих вещей: специалист по кибербезопасности. Мне нравится это делать, потому что в настоящее время я..

ВЫ РЕГРЕСС ЭТО?
Чтобы понять, когда использовать регрессионный анализ, мы должны сначала понять, что именно он делает. Вот простой ответ, который появляется, когда вы используете Google: Регрессионный..

Не зря же это называют интеллектом
Стек — C#, Oracle Опыт — 4 года Работа — Разведывательный корпус Мне пора служить Может быть, я немного приукрашиваю себя, но там, где я живу, есть обязательная военная служба на 3..

LeetCode Проблема 41. Первый пропущенный положительный результат
LeetCode Проблема 41. Первый пропущенный положительный результат Учитывая несортированный массив целых чисел, найдите наименьшее пропущенное положительное целое число. Пример 1: Input:..

Расистский и сексистский робот, обученный в Интернете
Его ИИ основан на предвзятых данных, которые создают предрассудки. Он словно переходит из одного эпизода в другой из серии Черное зеркало , а вместо этого представляет собой хронику..

Управление состоянием в микрофронтендах
Стратегии бесперебойного сотрудничества Микро-фронтенды — это быстро растущая тенденция в сфере фронтенда, гарантирующая, что удовольствие не ограничивается исключительно бэкэнд-системами..