非 Kerberized Kafka 代理连接到 Kerberized Zookeeper
Not Kerberized Kafka broker connection to Kerberized Zookeeper
我找不到关于这个问题的任何信息,所以如果有人能帮助我,我会很高兴。
我有一个 Kerberized 集群,其中包含 Hbase、MapReduce、HDFS、Zookeeper 等服务,...所有 kerberized 和工作。
假设我想向集群添加一些 kafka 代理,但我不想要Kerberize Kafka,因为睾丸中了一枪让我感觉比 kerberized Kafka 的想法更好。
我不知道我是否遗漏了一些东西,一些参数...可能我是..但是可以告诉动物园管理员还必须接受某些节点的 PLAINTEXT
请求,或者一些特定的目录,例如示例中的kafka:
zookeeper:2181/kafka
恢复中,问题是:
- 是否有任何选项可以包含非 kerberized Kafka Broker 并使其与集群中已经 kerberized 的 Zookeeper 一起工作?
如果您需要这样的配置:
[zookeeper] <----- SASL ----> [kafka] <----- non-authenticated request ---> [clients]
那么是的,这是可能的。你只需要
- 为将用于与 Zookeeper 通信的代理创建主体(带有密钥表)。
- 配置 Zookeeper ACL,为该用户设置
cdrwa
对节点 zookeeper:2181/kafka
的访问权限
- 将密钥表复制到代理并像这样配置 Kafka jaas 文件:
ZookeeperClient {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
storeKey=true
keyTab="/path/to/keytab"
principal="user@REALM";
};
然后,在 Kafka 配置中设置 zookeeper.set.acl=true
,但不要设置任何 authorizer.class.name
(这将启用 Kafka 消费者和生产者的身份验证)
我找不到关于这个问题的任何信息,所以如果有人能帮助我,我会很高兴。
我有一个 Kerberized 集群,其中包含 Hbase、MapReduce、HDFS、Zookeeper 等服务,...所有 kerberized 和工作。
假设我想向集群添加一些 kafka 代理,但我不想要Kerberize Kafka,因为睾丸中了一枪让我感觉比 kerberized Kafka 的想法更好。
我不知道我是否遗漏了一些东西,一些参数...可能我是..但是可以告诉动物园管理员还必须接受某些节点的 PLAINTEXT
请求,或者一些特定的目录,例如示例中的kafka:
zookeeper:2181/kafka
恢复中,问题是:
- 是否有任何选项可以包含非 kerberized Kafka Broker 并使其与集群中已经 kerberized 的 Zookeeper 一起工作?
如果您需要这样的配置:
[zookeeper] <----- SASL ----> [kafka] <----- non-authenticated request ---> [clients]
那么是的,这是可能的。你只需要
- 为将用于与 Zookeeper 通信的代理创建主体(带有密钥表)。
- 配置 Zookeeper ACL,为该用户设置
cdrwa
对节点zookeeper:2181/kafka
的访问权限 - 将密钥表复制到代理并像这样配置 Kafka jaas 文件:
ZookeeperClient { com.sun.security.auth.module.Krb5LoginModule required useKeyTab=true storeKey=true keyTab="/path/to/keytab" principal="user@REALM"; };
然后,在 Kafka 配置中设置 zookeeper.set.acl=true
,但不要设置任何 authorizer.class.name
(这将启用 Kafka 消费者和生产者的身份验证)