是否可以对Kafka客户端使用SASL身份验证,但对Zookeeper不需要它?

时间:2017-07-11 13:29:30

标签: java apache-kafka apache-zookeeper sasl

我已经遵循了这个:http://docs.confluent.io/current/kafka/sasl.html#sasl-configuration-for-kafka-brokers

为我的Kafka群集配置SASL身份验证。我想让所有客户通过SASL向经纪人进行身份验证。我不关心kafka< - > zookeeper。原因是我需要在Kafka中创建ACL。启动Kafka群集并收到有关无法向Zookeeper进行身份验证的错误时会出现此问题:

  

SASL配置失败:javax.security.auth.login.LoginException:   在指定中找不到名为“Client”的JAAS配置节   JAAS配置文件:'/ etc / kafka / kafka_server_jaas.conf'。将   继续连接到没有SASL身份验证的Zookeeper服务器,   如果Zookeeper服务器允许它。       打开与服务器zk-2.zookeeper-service.default.svc.cluster.local / 100.96.16.2:2181的套接字连接       连接到Zookeeper服务器时发生错误[zk-0.zookeeper-service:2181,zk-1.zookeeper-service:2181,zk-2.zookeeper-service:2181]。   身份验证失败。

我没有为ZooL身份验证配置Zookeeper,如果可以,我宁愿避免。这有可能吗?

2 个答案:

答案 0 :(得分:2)

根据我的配置(confluentinc / cp-kafka:3.2.1),假设Zookeeper将启用SASL,如果Kafka是(https://github.com/confluentinc/cp-docker-images/blob/3.2.x/debian/base/include/cub#L99

默认情况下,它会将相同的JAVA标记传递给io.confluent.admin.utils.cli.ZookeeperReadyCommand,您可以选择将ZOOKEEPER_SASL_ENABLED设置为false来禁用。{/ p>

答案 1 :(得分:0)

可以让ZooKeeper脱离SASL配置。请查看this document以获取基本的SASL设置。我希望它有所帮助。