为 Kerberos 身份验证配置 Kafka Connect HDFSinkNode

Posted

技术标签:

【中文标题】为 Kerberos 身份验证配置 Kafka Connect HDFSinkNode【英文标题】:Configuring Kafka Connect HDFSinkNode for Kerberos authentication 【发布时间】:2019-11-24 09:31:45 【问题描述】:

https://docs.confluent.io/current/connect/kafka-connect-hdfs/index.html 列出了以下示例属性:

hdfs.authentication.kerberos=true
connect.hdfs.principal=connect-hdfs/_HOST@YOUR-REALM.COM
connect.hdfs.keytab=path to the connector keytab
hdfs.namenode.principal=namenode principal

遗憾的是,https://docs.confluent.io/current/connect/kafka-connect-hdfs/configuration_options.html 的配置选项文档很简短,几乎没有用处。

作为 Hadoop 的消费者而非管理员,我对它的配置方式有一个非常模糊的理解。

有人能解释一下connect.hdfs.principalhdfs.namenode.principal 的用途吗?

【问题讨论】:

【参考方案1】:

主体就像 Kerberos 中的用户名。如果您是 Hadoop 的使用者,并且您需要在处理任何数据之前启动您的 keytab,那么您已经被分配了一个主体。 Connect 服务应该有自己的 keytab 和主体,这是列出的第一个属性

您必须找到为 Hadoop 集群设置 Kerberos 的人员(即管理员)才能了解 Namenode 主体是什么,但简短的回答是,这些设置用于向 HDFS 发出写入请求的身份验证。虽然我不确定为什么您明确需要 Namenode 主体,但 Connect(作为 Hadoop 客户端)联系 namenode 以写入数据,因此内部可能会发生一些验证

【讨论】:

以上是关于为 Kerberos 身份验证配置 Kafka Connect HDFSinkNode的主要内容,如果未能解决你的问题,请参考以下文章

可以为 Kafka 提供自定义 LoginModule 以支持 LDAP 吗?

macOS Sierra 系统设置中的 Kerberos 身份验证

FlinkFlink跨集群访问开启Kerberos认证的Kafka

为CDH 5.7集群添加Kerberos身份验证及Sentry权限控制

配置CDH使用Kerberos身份服务

IIS 7 中的 Kerberos 身份验证