【发布时间】:2018-07-15 05:56:41
【问题描述】:
您好,我的服务器上连接到 kafka 时出现问题...
我在 Linux 服务器(使用 Kerberos)上有 kafka,通过添加配置 keytab、主体(jaas 配置)连接到它的 java 客户端,现在我需要向 c# 应用程序添加类似的配置,这将产生一些消息卡夫卡。 C# 应用程序可以在 Windows 机器上运行。
C# 应用程序正在使用 Confluent.Kafka,连接到没有 kerberos 身份验证的 kafka 非常简单,我这样做就像 https://github.com/confluentinc/confluent-kafka-dotnet
但现在我需要将其配置为连接到受保护的环境...
那么如何配置将使用现有 keytab 文件和主体的连接?
我在 java 中看到很多示例,但在 C# 中没有类似问题的有效示例
如果有任何提示可以进一步解决我的问题,我将不胜感激
//更新
当我使用如下配置时它开始工作:
config = new Dictionary<string, object>
{
{"bootstrap.servers", KAFKA_BROKER_SERVERS},
{"api.version.request", "true"},
{"security.protocol", "SASL_PLAINTEXT"},
{"sasl.kerberos.service.name", "kafka"},
{"sasl.kerberos.principal", "myPrincaipal@REALM"},
{"debug", "security,broker,protocol"}
};
【问题讨论】:
-
你试过 librdkafka wiki 吗? github.com/edenhill/librdkafka/wiki/Using-SASL-with-librdkafka
-
是的,第一次我不知道如何使用它,但在我阅读了更多关于它的信息后,我尝试了我之前尝试过的不同凭据并且它有效,现在我在消息编码方面遇到了一些其他问题,但是这是我目标的一站:)
标签: c# apache-kafka kerberos kafka-producer-api confluent-platform