如何将 kafkacat 与消息中心一起使用
How to use kafkacat with message-hub
在尝试将 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 创建正确的密钥,然后使用这些密钥从主题中使用?
您不能在 kafkacat 中使用 Java 参数名称。
您需要改用 librdkafka configuration 名称。例如,以下将 运行 一个消费者:
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/
- 红帽:
/etc/pki/tls/cert.pem
在尝试将 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 创建正确的密钥,然后使用这些密钥从主题中使用?
您不能在 kafkacat 中使用 Java 参数名称。
您需要改用 librdkafka configuration 名称。例如,以下将 运行 一个消费者:
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/
- 红帽:
/etc/pki/tls/cert.pem