【问题标题】:How does kafka share disk space among brokers with different storage size?kafka 如何在不同存储大小的 broker 之间共享磁盘空间?
【发布时间】:2018-08-31 00:07:29
【问题描述】:

kafka 将如何应对以下情况?

  1. 我有 2 个代理,具有不同的配置 (CPU/RAM),负载如何在 2 个代理之间分配?一样吗?
  2. 我有 2 个 broker,存储大小不同,100 GB 和 200 GB,kafka broker 将如何共享它们之间的磁盘空间?

【问题讨论】:

    标签: apache-kafka


    【解决方案1】:

    存储空间不决定负载。默认分区器将自行执行循环分配,并且分区分配也相当平衡,AFAIK。

    但是,您的存储空间将受到最小代理的限制,因为必须在它们之间完全复制分区(假设您使用的复制因子 > 1,您应该这样做)。

    【讨论】:

    • 因此,使用 2 个 CPU 功率不同的 broker 是没有意义的,最终将是循环分发
    • 我以为我们在谈论存储,而不是 CPU?或者 RAM 或网络,事实上。
    • 但是如果一个经纪人有更好的 CPU(和其他整体规格),你可以更快地消费和生产它,但你的其他经纪人仍然会很慢和滞后,所以我看不到点。
    • 抱歉,问题不清楚。如果 Small CPU broker 使用 60% RAM/CPU 而大型 CPU broker 使用 40% RAM/CPU,Kafka 会保持 RAM/CPU 使用均匀吗?
    • 内存使用和存储之间没有紧密的关联(除了更多的索引文件需要更多的内存来管理它们)。如果您想将更高的工作负载分配给代理的某个分区,则需要编写一个分区器来执行此操作
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-06
    • 1970-01-01
    • 1970-01-01
    • 2020-04-24
    • 1970-01-01
    • 2020-05-16
    相关资源
    最近更新 更多