【问题标题】:Consumen multiple network interfaces of single machine for kafka clusterkafka集群消费单机多网口
【发布时间】:2021-09-11 07:51:22
【问题描述】:

我有一台带有 3 个网络接口的 Linux 机器, 假设IP是192.168.1.101,192.168.1.102,192.168.1.103 我想使用这个单个节点的所有 3 个 IP 来与其他节点创建一个 Kafka 集群,所有 3 个 IP 都应该有各自的代理吗? 也不推荐使用网卡绑定,所有IP都需要使用

【问题讨论】:

    标签: apache-kafka kafka-cluster


    【解决方案1】:

    总的来说,我不确定您为什么要这样做...如果您为每个地址使用单独的卷 (log.dirs),那么您可能需要单独的 Java 进程,当然,但是您' 仍然会共享相同的内存,并且让那台机器成为单点故障。

    在任何情况下,您都可以设置一个进程让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。

    【讨论】:

    • 我有一个 2 节点集群,并且想在不创建 nic 绑定的情况下使用所有端口,所以还需要对 zookeeper.properties 进行任何更改吗?
    • 想不出,但你不应该在代理服务器上运行 Zookeeper。
    猜你喜欢
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多