【问题标题】:Is it possible to use SASL authentication with Kafka clients but not require it for Zookeeper? [closed]是否可以对 Kafka 客户端使用 SASL 身份验证,但 Zookeeper 不需要它? [关闭]
【发布时间】:2017-12-15 14:26:02
【问题描述】:

我关注了这个:http://docs.confluent.io/current/kafka/sasl.html#sasl-configuration-for-kafka-brokers

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

SASL 配置失败:javax.security.auth.login.LoginException: 在指定的文件中找不到名为“客户端”的 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]。 身份验证失败。

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

【问题讨论】:

  • 这不是真正的主题,但它也不适合迁移。

标签: java apache-kafka apache-zookeeper sasl


【解决方案1】:

事实证明,我的配置基于 (confluentinc/cp-kafka:3.2.1) 的特定 docker 映像假定如果 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 来选择禁用它。

【讨论】:

  • 将 FALSE 设为大写,我花了一段时间才弄明白。它在较低的情况下不起作用。
  • 谢谢!这正是我的问题。 ZOOKEEPER_SASL_ENABLED="false" 成功了
【解决方案2】:

可以将 ZooKeeper 排除在 SASL 配置之外。请查看this document 了解基本的 SASL 设置。希望对你有帮助。

【讨论】:

    猜你喜欢
    • 2017-09-14
    • 2021-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-23
    • 1970-01-01
    • 2015-07-29
    相关资源
    最近更新 更多