#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. Это сработало! Большое спасибо!