Apache kafka Hdfs接收器连接器和Kerberos
我有一个卡夫卡连接与一些实例。它们使用kerberos在安全的hdfs中写入。虽然连接器工作正常,但我对安全配置有一些疑问。您可以在下面找到连接器配置的安全方面: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
"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的主体