Kafka-topics.sh аутентификация

#apache-kafka #kafka-topic

Вопрос:

Я изучаю Apache Кафку и не понимаю, как сделать kafka-topics.sh работайте с настроенной аутентификацией SASL_PLAINTEXT на сервере.

Это содержимое server.properties:

 security.protocol=SASL_PLAINTEXT sasl.enabled.mechanisms=PLAIN sasl.mechanism.inter.broker.protocol=PLAIN security.inter.broker.protocol=SASL_PLAINTEXT  listeners=SASL_PLAINTEXT://10.10.10.16:9092 advertised.listeners=SASL_PLAINTEXT://10.10.10.16:9092  listener.name.sasl_plaintext.plain.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required   username="admin"   password="some-pass-1"   user_admin="some-pass-1"   user_myproducer="some-pass-2"   user_myconsumer="some-pass-3";  

Это содержимое файла JAAS, которое я предоставляю с помощью KAFKA_OPTS перед запуском kafka-topics.sh:

 Client {  org.apache.kafka.common.security.plain.PlainLoginModule required  security_protocol="SASL_PLAINTEXT"  sasl_mechanism="PLAIN"  username="admin"  password="some-pass-1"; };  

Это кафка.содержимое журнала и ошибки, которые я продолжаю получать:

 [2021-10-28 03:48:10,887] INFO [SocketServer listenerType=ZK_BROKER, nodeId=0] Failed authentication with /10.10.10.16 (Unexpected Kafka request of type METADATA during SASL handshake.) (org.apache.kafka.common.network.Selector) [2021-10-28 03:48:11,100] INFO [SocketServer listenerType=ZK_BROKER, nodeId=0] Failed authentication with /10.10.10.16 (Unexpected Kafka request of type METADATA during SASL handshake.) (org.apache.kafka.common.network.Selector) [2021-10-28 03:48:11,325] INFO [SocketServer listenerType=ZK_BROKER, nodeId=0] Failed authentication with /10.10.10.16 (Unexpected Kafka request of type METADATA during SASL handshake.) (org.apache.kafka.common.network.Selector) [2021-10-28 03:48:11,730] INFO [SocketServer listenerType=ZK_BROKER, nodeId=0] Failed authentication with /10.10.10.16 (Unexpected Kafka request of type METADATA during SASL handshake.) (org.apache.kafka.common.network.Selector) [2021-10-28 03:48:11,936] INFO [SocketServer listenerType=ZK_BROKER, nodeId=0] Failed authentication with /10.10.10.16 (Unexpected Kafka request of type METADATA during SASL handshake.) (org.apache.kafka.common.network.Selector)  

Любые подсказки будут оценены по достоинству

Комментарии:

1. Можете ли вы поделиться командой, которую вы запускаете для запуска kafka-topics.sh ?

2. ./kafka-topics.sh —список —загрузочный сервер 10.10.10.16:9092

Ответ №1:

Вы можете загружать учетные данные SASL только из файлов JAAS. Другие параметры клиента должны быть предоставлены с помощью файла конфигурации. Вы также можете предоставить учетные данные SASL с помощью файла конфигурации.

Например, создайте файл config.properties со следующим содержимым:

 sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="USER" password="PASSWORD"; security.protocol=SASL_PLAINTEXT sasl.mechanism=PLAIN  

Затем запустите kafka-topics.sh инструмент с помощью:

 ./kafka-topics.sh --list --bootstrap-server 10.10.10.16:9092 --command-config config.properties  

Обратите внимание , что при использовании SASL_PLAINTEXT ваши учетные данные будут отправлены по сети в открытом виде. Вы должны включить SSL для шифрования сообщений между клиентами и брокерами.

Комментарии:

1. Это сработало! Большое спасибо!