Как использовать kafkacat с Message-Hub - PullRequest
0 голосов
/ 30 августа 2018

При попытке использовать kafkacat с концентратором сообщений я использовал следующее:

kafkacat -X client.id=xxxxx \
-X sasl.jaas.config='org.apache.kafka.common.security.plain.PlainLoginModule required username="xxxx" password="xxxx";' \
-X security.protocol=SASL_SSL \
-X sasl.mechanism=PLAIN \
-X ssl.protocol=TLSv1.2 \
-X ssl.enabled.protocols=TLSv1.2 \
-X ssl.truststore.type=JKS \
-X ssl.endpoint.identification.algorithm=HTTPS -b broker:port -C -t topic

и получил следующую ошибку:

% ERROR: Java JAAS configuration is not supported, see https://github.com/edenhill/librdkafka/wiki/Using-SASL-with-librdkafka for more information.

Как использовать kerberos с предоставленными учетными данными для создания правильных ключей, а затем использовать их для использования в теме?

1 Ответ

0 голосов
/ 30 августа 2018

Вы не можете использовать имена аргументов Java с kafkacat.

Вместо этого вам необходимо использовать имена конфигурации librdkafka. Например, следующий будет работать Consumer:

kafkacat -X "security.protocol=sasl_ssl" -X 'sasl.mechanisms=PLAIN' \
  -X 'sasl.username=token' -X "sasl.password=<APIKEY>" \
  -X "ssl.ca.location=<CERTS_PATH>" -b <BOOTSTRAP_SERVERS> -C -t <TOPIC>

Конфигурация, указанная в примере, подходит для Message Hub.

<CERTS_PATH> зависит от вашей операционной системы:

  • macOS: /etc/ssl/cert.pem
  • Debian: /Ubuntu/IBM Cloud: /etc/ssl/certs/
  • RedHat: /etc/pki/tls/cert.pem
...