当前位置: 首页 > 知识库问答 >
问题:

如何设置security.inter.broker。当我有两个不同协议的Kafka经纪人的时候?

姜杜吟
2023-03-14

我有两个kafka代理,使用SSL的kafka-0和使用PLAINTEXT的kafka-1(使用Docker映像部署)。

我需要设置security.inter.broker.protocol,以便kafka-0和kafka-1可以相互对话。当我将两个代理都设置为明文时,kafka-0会给出以下错误:

java.lang.IllegalArgumentException: requirement failed: security.inter.broker.protocol must be a protocol in the configured set of advertised.listeners. The valid options based on currently configured protocols are Set(SSL)

hafka-0的广告监听器是

advertised.listeners = SSL://IP_ADDRESS:9092

同时,如果我将两个代理的协议都设置为SSL,kafka-1会抱怨:

Error when handling request {topics=[__consumer_offsets]} (kafka.server.KafkaApis) kafka.common.BrokerEndPointNotAvailableException: Broker `0` does not support security protocol `PLAINTEXT`

我需要在设置中做什么改变,以便代理可以相互通信,即使他们使用不同的安全协议?

共有1个答案

齐献
2023-03-14

让它工作的唯一方法是,如果你让两个经纪人中的一个(或两个)说出两个协议。只要一个专门为ssl配置,一个专门为明文配置,它们将无法相互连接。

您可以做的是向ssl代理添加一个明文侦听器:

listeners=PLAINTEXT://:9093,SSL://:9092
advertised.listeners = PLAINTEXT://IP_ADDRESS:9093,SSL://IP_ADDRESS:9092

并将非ssl代理配置为连接到9093,这应该可以正常工作,并让所有当前使用SSL的客户端与该代理进行对话。

由于其中一个只能使用SSL可能是有原因的,因此使用防火墙规则保护明文端口可能是有意义的,以便只有第二个代理可以连接。

 类似资料:
  • 问题内容: 我有以下结构: 通过kafka-topics shell脚本创建了具有复制因子3和分区3的主题。 并使用组localConsumers。领导没事的时候工作正常。 消费者日志 但是,如果领导者倒下了-我在消费者中遇到了错误(systemctl stop kafka): 节点3不可用。好 消费者日志 使用者无法连接,直到领导者掉线或与另一个使用者组重新连接。 不明白为什么会这样?消费者应重

  • 我试图连接到Kafka服务器使用SpringKafka客户端 我正在使用logback。xml。下面是配置。在测试之前,我对Kafka主机和端口进行了硬编码。相同的代码和配置适用于其中一个环境。

  • 我有两个< code>kafka 0.10.1的代理集群,之前在我的开发服务器上正确运行< code>zookeeper 3.3.6。 我最近尝试将broker版本升级到最新的,但没有开始。配置没有太大变化 谁能告诉我可能会出什么问题吗。为什么经纪人没有起步? 已更改服务器。代理服务器1上的属性 已更改代理服务器2上的server.properties 注意: 1.Zookeeper正在两台服务器

  • 创建了一个群集,其中有两个代理使用相同的动物园管理员,并试图为主题生成消息,其详细信息如下。 当生产者设置或-1时,,它应该接收代理(领导者和副本)的确认,但当一个代理在制作时手动关闭时,即使在acks=“all”有人能解释这种奇怪行为的原因时,对Kafka制作人也没有任何影响? 经纪人在9091,9092。 下面是Kafka制作人的源代码

  • 我在单节点中运行kafka,我想看到kafka生产者行为,当我关闭我的kafka代理,然后我在几秒钟内重新启动我的代理,所以我创建Spring启动程序,我可能会发送1000个客户JSON对象并打印每次发送的JSON对象的偏移量。我的应用程序工作正常,但是当我关闭我的kafka代理并在几秒钟后我重新启动我的代理时,我的生产者返回以正常发送来自最新偏移量的对象。对于我的例子,当偏移量= 983在控制台

  • 感谢你在这个问题上的帮助。 我使用的是Kafka 0.8.2 这是我写的制作人代码。