2017-03-02 247 views
0

在kafka文档中,它说校长是kafka/[email protected],所以sasl.kerberos.service.name应该是kafka ,但我非常困惑kafka broker配置说: :sasl.kerberos.service.name代表Kafka kerberos配置问题

"The Kerberos principal name that Kafka runs as. This can be defined either in Kafka's JAAS config or in Kafka's config." 

为什么我们需要设置此配置:sasl.kerberos.service.name,它是如何工作的?为什么卡夫卡运行作为Kerberos主体名称为“kafka”而不是“kafka/[email protected]

+0

这3个属性呢? – FaigB

回答

0

我不知道卡夫卡是什么,但Kerberos主体是“海边的卡夫卡/主机名”,而不是“海边的卡夫卡”独自一人。

在Kerberos数据库

,你可以有很多不同的校长,叫

卡夫卡 卡夫卡/主机名 卡夫卡/管理 卡夫卡/ whatyouwant

每一种被称为委托人(包括/东西)

0

kafka不过是kafka服务运行的主要名称。 您还应该在KDC服务器中添加一个“kafka”主体。

如果您使用Cloudera,它会自动将此条目添加到KDC服务器。 你可以在/ var/run/cloudera-scm-agent/processs/<>

中检查这个配置。同样的主体也将在jaas配置文件中。 principal =“kafka/hostname @ Relam Name”;

0

使用

KafkaServer { 
    com.sun.security.auth.module.Krb5LoginModule required 
    useKeyTab=true 
    storeKey=true 
    useTicketCache=false 
    keyTab="kafka.keytab" 
    principal="kafka/[email protected]"; 
}; 
// Zookeeper client authentication 
Client { 
    com.sun.security.auth.module.Krb5LoginModule required 
    useKeyTab=true 
    storeKey=true 
    useTicketCache=false 
    keyTab="kafka.keytab" 
    principal="kafka/[email protected]"; 

};

这JAAS卡夫卡服务器和卡夫卡连接到基于Kerberos的动物园管理员,你可以你怎么提供主要分布设置卡夫卡的server.properties

security.protocol: SASL_PLAINTEXT 
sasl.mechanism: GSSAPI 
sasl.kerberos.service.name: kafka