Не найден раздел конфигурации JAAS с именем "Сервер" в /kafka/kafka_2.12-2.3.0/config/zookeeper_jaas.conf'

Когда я запускаю zookeeper из пакета в kakfa_2.12-2.3.0, я получаю следующую ошибку

$ export KAFKA_OPTS="-Djava.security.auth.login.config=/kafka/kafka_2.12-2.3.0/config/zookeeper_jaas.conf"
    $ ./bin/zookeeper-server-start.sh  config/zookeeper.properties

и zookeeper_jaas.conf это

KafkaServer {
   org.apache.kafka.common.security.plain.PlainLoginModule required
   username="admin"
   password="admin-secret"
   user_admin="admin-secret";
};

и файл zookeeper.properties

server=localhost:9092
#server=localhost:2888:3888
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="ibm" password="ibm-secret";

security.protocol=SASL_SSL
sasl.mechanism=PLAIN
ssl.truststore.location=**strong text**/kafka/apache-zookeeper-3.5.5-bin/zookeeperkeys/client.truststore.jks
ssl.truststore.password=test1234

 authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider 
 jaasLoginRenew=3600000 
 requireClientAuthScheme=sasl 

кто-нибудь может подсказать в чем может быть причина

1 ответ

Решение

Вы, кажется, перепутали кучу настроек Kafka SASL с вашими файлами конфигурации Zookeeper. И Zookeeper, и Kafka имеют различную поддержку SASL, поэтому она не будет работать.

Я предполагаю, что вы хотите включить аутентификацию SASL между Kafka и Zookeeper. В этом случае вам необходимо следовать руководству сервера-клиента Zookeeper: https://cwiki.apache.org/confluence/display/ZOOKEEPER/Client-Server+mutual+authentication

Zookeeper не поддерживает SASL Plain, но DigestMD5 очень похож. В этом случае ваш jaas.conf файл должен выглядеть так:

Server {
   org.apache.zookeeper.server.auth.DigestLoginModule required
   user_super="adminsecret"
   user_bob="bobsecret";
};

Затем вам необходимо настроить брокеров Kafka для подключения к Zookeeper с помощью SASL. Вы можете сделать это с помощью другого jaas.conf файл (на этот раз он загружается в Кафку):

Client {
   org.apache.zookeeper.server.auth.DigestLoginModule required
   username="bob"
   password="bobsecret";
};

Примечание: вы также можете включить SASL между серверами Zookeeper. Для этого следуйте руководству Сервер-Сервер: https://cwiki.apache.org/confluence/display/ZOOKEEPER/Server-Server+mutual+authentication

Другие вопросы по тегам