Kerberos SASL аутентификация с использованием node-rdkafka - PullRequest
0 голосов
/ 05 февраля 2019

У меня возникла проблема при попытке подключиться к экземпляру Kafka, который использует аутентификацию Kerberos SASL с использованием модуля node-rdkafka npm, а отсутствие документации и примеров затрудняет решение этой проблемы.Я использую настройку Alpine, найденную здесь , чтобы получить все необходимые зависимости librdkafka и node-rdkafka и создать образ.Я пытаюсь запустить свой контейнер со следующим объектом конфигурации для производителя node-rdkafka для подключения к экземпляру Kafka:

'debug': 'all',
'client.id': 'kafka',
'metadata.broker.list': KAFKA_DOMAINS,
'sasl.kerberos.principal': '<id>@<REALM>',
'sasl.kerberos.keytab': '/path/to/<id>.keytab',
'sasl.kerberos.service.name': 'kafka',
'security.protocol': 'sasl_plaintext',
'sasl.kerberos.kinit.cmd': 'kinit -kt /path/to/<id>.keytab <id>@<REALM>',
'dr_cb': true,
'event_cb': true

Когда я пытаюсь запустить контейнер, он зависает, а затем выдает следующую ошибку:

[2019-02-05T17:09:59.637Z] ERROR: kafka/7 on 95c927d11411: broker transport failure (err.code=-195)
Error: Local: Broker transport failure
    at Function.createLibrdkafkaError [as create] (/opt/rdkafka/node_modules/node-rdkafka/lib/error.js:261:10)
    at /opt/rdkafka/node_modules/node-rdkafka/lib/client.js:339:28

Вот вывод из инструкций журнала функций и libkafkaversion:

[2019-02-05T17:09:29.519Z]  INFO: kafka/7 on 95c927d11411:
[ 'gzip',
  'snappy',
  'ssl',
  'sasl',
  'regex',
  'lz4',
  'sasl_gssapi',
  'sasl_plain',
  'sasl_scram',
  'plugins' ]
[2019-02-05T17:09:29.521Z]  INFO: kafka/7 on 95c927d11411: 0.11.5

Чего мне не хватает, что я не могу подключиться?Я пропускаю некоторые переменные среды?Я знаю, что реализация librdkafka на Java включает передачу файлов REALM, KDC_HOST и некоторых .conf (krb5 и jaas).Должен ли я установить какую-то переменную среды?Я не могу найти примеров или решений.

...