我正在使用librdkafka在windows上编写kafka .net客户端,它连接到在linux OS(基本上是跨平台)中运行的kafka集群。我想公开客户端中所需的所有配置,并使用一些默认值设置它们(默认情况下,我希望基本上不设置加密和不进行身份验证),以便我的最终客户端可以根据其安全需要更改这些值。 / p>
https://github.com/edenhill/librdkafka/blob/master/CONFIGURATION.md
{"security.protocol", "plaintext" },
{"ssl.ca.location","" },
{"sasl.mechanisms","PLAIN" },
{"sasl.kerberos.service.name","" },
{"sasl.kerberos.kinit.cmd","%{sasl.kerberos.keytab}" },
{"sasl.kerberos.keytab","" },
{"sasl.kerberos.principal","" },
当我提供纯文本并且没有为ca.location提供任何内容时,SSL工作正常。但是对于SASl,我得到了这个例外"没有这样的配置属性:" sasl.kerberos.kinit.cmd""。我在这里做错了什么。
答案 0 :(得分:0)
在Windows上,librdkafka仅通过本机窗口SSPI支持GSSAPI / Kerberos - 使用当前登录用户,Windows AD等提供身份验证。 Windows不支持unix kerberos实用程序,例如kinit和keytabs。
有关详细信息,请参阅librdkafka wiki。