Клиент Spring Kafka не может получать сообщения из темы Kafka Broker с включенным протоколом Kerberos

Недавно у нас был керберизован кластер Kafka, и у нас начались проблемы с чтением сообщений из темы на брокере.

Мы используем Spring kafka 1.1.2.RELEASE и клиент kafka 0.10.0.1.

Я внес в проект следующие изменения после ознакомления с предложениями из документации Apache Kafka.

  1. В свойствах потребителя добавлен протокол security.protocol SASL_PLAINTEXT.
  2. Добавлен соответствующий файл JAAS и указан путь в аргументах виртуальной машины.
  3. Добавлен KRB5.conf и указан путь в аргументах виртуальной машины.
  4. У меня есть соответствующая запись keytab, созданная и предоставленная в файле JAAS.

Опубликуйте эти изменения, я могу запустить приложение без проблем (без ошибок в DEBUG OR TRACE), и я вижу в журналах, что соединение с брокером было успешным. Я также проверил TCP-соединения, и это показывает, что клиент и сервер хорошо обмениваются данными.

Однако проблема в том, что я не могу получать сообщения из темы и не вижу ошибок в журналах.

Есть ли что-то, чего мне не хватает, или какой-либо другой способ устранить неполадки?


person A_De    schedule 26.05.2017    source источник
comment
В недавнем выпуске мы добавили конфигурацию Kerberos в Spring Kafka: github.com/ весна-проекты / весна-кафка / выпуски / 201. Но похоже, что это совершенно не связано с твоей проблемой. Проверьте журналы Kafka Broker на наличие подсказок.   -  person Artem Bilan    schedule 26.05.2017
comment
Да, я попросил своего администратора kafka установить уровень журнала на DEBUG на брокере. Я обновлю свои выводы.   -  person A_De    schedule 26.05.2017
comment
Хорошо. Похоже, администратор kafka временно повысил разрешения для моего идентификатора, чтобы иметь возможность получать сообщения из темы. Тем не менее, все еще исследуем основную причину ...   -  person A_De    schedule 26.05.2017


Ответы (1)


Хорошо - теперь мы решили эту проблему, настроив нашего администратора kafka правильные ACL (разрешения) для принципала kerberos для правильной группы потребителей и правильной темы.

Обратитесь к https://cwiki.apache.org/confluence/display/KAFKA/Kafka+Authorization+Command+Line+Interface для получения дополнительной информации.

person A_De    schedule 01.06.2017