У меня возникла проблема при попытке подключиться к экземпляру 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).Должен ли я установить какую-то переменную среды?Я не могу найти примеров или решений.