我跟着这个: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:在指定的JAAS配置文件中找不到名为“Client”的JAAS配置节:'/ etc / kafka / kafka_server_jaas.conf' . 如果Zookeeper服务器允许,将继续连接到没有SASL身份验证的Zookeeper服务器 . 打开与服务器的套接字连接zk-2.zookeeper-service.default.svc.cluster.local / 100.96.16.2:2181连接到Zookeeper服务器时出错[zk-0.zookeeper-service:2181,zk-1.zookeeper-服务:2181,ZK-2.zookeeper服务:2181 . 验证失败 .
我没有配置Zookeeper进行SASL身份验证,如果可以,我宁愿避免 . 这有可能吗?
2 回答
原来我基于配置的特定docker镜像(confluentinc / cp-kafka:3.2.1)假设如果Kafka是(https://github.com/confluentinc/cp-docker-images/blob/3.2.x/debian/base/include/cub#L99),Zookeeper将启用SASL
它默认将相同的JAVA标志传递给
io.confluent.admin.utils.cli.ZookeeperReadyCommand
,您可以选择通过将ZOOKEEPER_SASL_ENABLED
设置为false来禁用它 .可以使ZooKeeper脱离SASL配置 . 请查看this document以获取基本的SASL设置 . 我希望它有所帮助 .