为 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.principal
和hdfs.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