我有一台具有 3 个网络接口的 Linux 机器,假设 IP 是 192.168.1.101,192.168.1.102,192.168.1.103 我想使用这个单个节点的所有 3 个 IP 来创建一个与其他节点的 Kafka 集群,如果所有 3 个 IP 都有他们独立的经纪人?也不推荐使用网卡绑定,所有IP都需要使用
1 回答
1
总的来说,我不确定您为什么要这样做...如果您log.dirs
为每个地址使用单独的卷 (相同的内存,并且让那台机器成为单点故障。
在任何情况下,您都可以设置一个进程来advertised.listeners
列出这些地址中的每一个供客户端进行通信,但是,您仍然必须处理操作系统中的端口分配,因此您可能需要listeners
像这样设置
listeners=PLAINTEXT_1://0.0.0.0:9092,PLAINTEXT_2://0.0.0.0:9093,PLAINTEXT_3://0.0.0.0:9094
并确保您listener.security.protocol.map
也使用这些名称进行了设置
请注意,客户端在任何时候都只会与领导主题分区通信,因此如果您有一个代理 JVM 进程和 3 个地址,那么实际上只会使用一个地址。一种优化可能是您的集群内复制可以使用单独的 NIC。
于 2021-06-29T15:21:55.847 回答