Реестр схемы Nifi + Hortonworks + Kerberos: 401 Требуется аутентификация - PullRequest
0 голосов
/ 17 января 2020

Я использую Apache Nifi 1.7 и пытаюсь использовать RecordWritter, который использует контроллер службы реестра схем Hortonwors для чтения метаданных схемы.

Однако эта служба контроллера не имеет никакой конфигурации KErberos такие свойства, как «KErberos Credential Service», которые есть у других процессоров Nifi, поэтому я получаю сообщение об ошибке 401: при попытке прочитать схему из реестра Hortonworks Schema требуется аутентификация.

Интересная вещь заключается в том, что этот рабочий процесс работал до и после остановки потока nifi, перемещения кластера в другую локальную сеть и повторного запуска потока он начинал давать сбой. Здесь я исключил любые проблемы с сетью, поскольку Kerberos и реестр схем содержат те же URI, что и раньше, и я могу сделать запрос к службе реестра из командной строки с помощью curl, как и раньше.

Есть ли способ сделать реестр схемы Hortonworks Контроллер работает с Kerberos?

1 Ответ

1 голос
/ 17 января 2020

В 1.7.0 единственный способ сделать это - через файл JAAS с записью для RegistryClient, например:

RegistryClient {
    com.sun.security.auth.module.Krb5LoginModule required
    useKeyTab=true
    keyTab="REPLACE_WITH_KEYTAB"
    storeKey=true
    useTicketCache=false
    principal="REPLACE_WITH_PRINCIPAL";
};

Затем в nifi's bootstrap .conf необходимо указать системное свойство:

java .arg.16 = -D java .security.auth.login.config = / path / to / jaas.conf

В 1.10.0 появились новые свойства в сервис, облегчающий настройку.

...