在'/kafka/kafka_2.12-2.3.0/config/zookeeper_jaas.conf'中找不到名为“服务器”的JAAS配置节。

Ram*_*ana 5 jaas apache-kafka apache-zookeeper apache-kafka-security

当我从kakfa_2.12-2.3.0中的程序包运行zookeeper时,出现以下错误

$ 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
Run Code Online (Sandbox Code Playgroud)

zookeeper_jaas.conf

KafkaServer {
   org.apache.kafka.common.security.plain.PlainLoginModule required
   username="admin"
   password="admin-secret"
   user_admin="admin-secret";
};
Run Code Online (Sandbox Code Playgroud)

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 
Run Code Online (Sandbox Code Playgroud)

谁能建议可能是什么原因

Mic*_*son 4

您似乎将一堆 Kafka SASL 配置混合到您的 Zookeeper 配置文件中。Zookeeper 和 Kafka 都有不同的 SASL 支持,因此它不起作用。

我猜您想在 Kafka 和 Zookeeper 之间启用 SASL 身份验证。在这种情况下,您需要遵循 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";
};
Run Code Online (Sandbox Code Playgroud)

然后,您需要配置 Kafka 代理以使用 SASL 连接到 Zookeeper。您可以使用另一个jaas.conf文件来做到这一点(这次将其加载到 Kafka 中):

Client {
   org.apache.zookeeper.server.auth.DigestLoginModule required
   username="bob"
   password="bobsecret";
};
Run Code Online (Sandbox Code Playgroud)

注意:您还可以在 Zookeeper 服务器之间启用 SASL。为此,请遵循服务器-服务器指南:https://cwiki.apache.org/confluence/display/ZOOKEEPER/Server-Server+mutual+authentication