Kafka 2.0 - KafkaConnect 连接器中的多个 Kerberos 主体

Kafka 2.0 - Multiple Kerberos Principals in KafkaConnect Connectors

我们目前正在使用捆绑了 Kafka 2.0.0 的 HDF(Hortonworks Dataflow)3.3.1。问题在于 运行 在同一 KafkaConnect 集群上使用不同配置(Kerberos 主体)的多个连接器。

作为此 Kafka 版本的一部分,所有连接器都应该使用相同的 consumer/producer 属性,这些属性已在带有 consumer.* 或 producer.* 前缀的工作配置中设置。但正如我所说,我们有多个用户(应用程序)运行 使用他们自己的连接器,我们不能使用单个 Kerberos 主体来允许读取所有主题。

所以只是想咨询专家是否有任何方法可以克服此安全限制。我能想到的选项是 - 运行 每个 Kafka 用户(不同的主体)一个不同的 Kafka-Connect 集群但是如果我们 运行 相同节点上的许多 KafkaConnect 集群会有什么影响?它是否会对资源(Java 堆等)造成任何影响,或者这是处理此问题的唯一方法(标准程序)。

PS:在以后的版本(2.3+)中,这个问题已通过 KAFKA-8265 修复,这些设置可以被覆盖,但即使我们尝试升级到最新的 HDF,我们也只会得到 Kafka 2.1,它不会解决这个问题。

感谢您的帮助!!

我认为升级是获得链接功能的最佳选择。正如我评论的那样,您可以自己获取最新的 kafka 版本...Hortonworks/Cloudera 无论如何都不提供对 Connect 的支持。他们宁愿你使用 Spark/Flink/NiFi(我认为 Storm 已经不存在了?)

what implications it could have if we run many KafkaConnect Clusters on same nodes ? Will it cause any impacts in term of resources (Java heap etc.)

堆是主要堆(用于批处理、接收器连接器)。网络和 CPU 负载也可以考虑在内,具体取决于消息的速率。

只要每个集群进程的通告端口不冲突,您应该能够使用相同的组 ID 和内部主题,不过