在 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
是干什么的吗?
主体就像 Kerberos 中的用户名。如果您是 Hadoop 的使用者,并且需要在处理任何数据之前使用密钥表,则已为您分配了一个主体。Connect 服务应该有自己的密钥表,因此是主体,这是列出的第一个属性
你必须找到谁为Hadoop集群设置了Kerberos(即管理员(才能找出Namenode主体是什么,但简短的回答是,这些设置用于身份验证,以向HDFS发出写入请求。虽然我不确定为什么你明确需要Namenode主体,但Connect(作为Hadoop客户端(联系namenode来写入数据,所以内部可能会发生一些验证。