Apache kafka Hdfs接收器连接器和Kerberos

Apache kafka Hdfs接收器连接器和Kerberos,apache-kafka,hdfs,kerberos,apache-kafka-connect,Apache Kafka,Hdfs,Kerberos,Apache Kafka Connect,我有一个卡夫卡连接与一些实例。它们使用kerberos在安全的hdfs中写入。虽然连接器工作正常,但我对安全配置有一些疑问。您可以在下面找到连接器配置的安全方面: "hdfs.authentication.kerberos": "true", "connect.hdfs.principal": "my_custom_user@MY_DOMAIN", "connect.hdfs.keytab": "/etc/kafka/my_costom_user.keytab

我有一个卡夫卡连接与一些实例。它们使用kerberos在安全的hdfs中写入。虽然连接器工作正常,但我对安全配置有一些疑问。您可以在下面找到连接器配置的安全方面:

      "hdfs.authentication.kerberos": "true",
      "connect.hdfs.principal": "my_custom_user@MY_DOMAIN",
      "connect.hdfs.keytab": "/etc/kafka/my_costom_user.keytab",
      "hdfs.namenode.principal": "nn/_HOST@MY_DOMAIN",
我按照官方文档编写了配置,但我不明白为什么我需要指定(全部一起)
connect.hdfs.principal
connect.hdfs.keytab
hdfs.namenode.principal
。我知道必须创建票证,但我不确定请求是如何发出的。我猜
connect.principal
+
connect.keytab
用于获取TGT,但是为什么我需要
hdfs.namenode.principal

我认为需要
hdfs.namenode.principal
来获取授权令牌,然后获取委派令牌,但目前我认为这没有意义,因为,Kafka Connect cluster没有为
hdfs.namenode.principal
安装keytab,因此我知道如果使用
hdfs.namenode.principal
创建TGT,这应该在Hadoop集群中发生


有人能解释一下吗?

也许
connect.hdfs.principal
connect.hdfs.keytab
用于创建和登录UGI?我认为这个答案很好地解释了RPC是什么以及它是如何工作的。我再次检查了HDFS接收器代码,我了解以下内容
hdfs.namenode.principal
+
hdfs.namenode.keytab
用于配置
用户组信息#loginUserFromKeytab
hdfs.namenode.principal
。我知道
hdfs.namenode.principal
是namenode的主体