【问题标题】:Partitions and Replications for the Apache KafkaApache Kafka 的分区和复制
【发布时间】:2016-01-29 18:18:57
【问题描述】:

我已从建议的网站 http://kafka.apache.org/ 阅读了整个文档,但无法理解硬件要求

1)我需要澄清一下:为单个主题收集最少 50GB 数据/天需要多少个分区和复制

2) 假设 0000000000000.log 文件最多可存储 100GB 的数据。是否可以减小此日志文件大小以减少 I/O 的使用?

【问题讨论】:

  • 1) 这些数据是否整天都以统一的方式传递?因为如果这样的话,您每天不需要太多收集 50gb 的数据 2) 您可以使用分区来拆分主题的大小。无论哪种方式,我都不确定该文件的大小对 kafka 的影响有多大(根据 kafka 从磁盘读取信息的方式,我不会想象太多)
  • 是的,数据将全天以统一的方式连续不断。我还通过给出以下命令检查了分区概念。 bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 2 --partitions 3 --topic topic_name。听说主题中的分区也用于存储相同的数据。你能在 -nautilus 上帮忙吗
  • 嗨 syed jameer,我的回答对您有帮助吗?
  • 嗨,鹦鹉螺正在努力实现它。

标签: apache-kafka kafka-consumer-api kafka-producer-api


【解决方案1】:

如果一整天都统一摄取数据,这意味着您需要每秒摄取 600kb 之类的数据,这完全取决于这 600kb 上的消息数量(根据 Jay Creps 的解释 here 您需要计算每条消息 22 字节的开销)(请记住,您 ACK 来自生产者的消息的方式也非常重要)

但是您应该能够使用 1 个主题和 1 个分区从生产者那里获得此吞吐量。

【讨论】:

    【解决方案2】:

    1.检查此链接它有选择#partitions的答案:
    http://www.confluent.io/blog/how-to-choose-the-number-of-topicspartitions-in-a-kafka-cluster/][1]

    1. 是的,可以更改 kafka 中日志文件的最大大小。您必须在每个代理上设置下面提到的属性,然后重新启动代理。

      log.segment.bytes=1073741824

    以上行会将日志段大小设置为 1GB。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-07-09
      • 1970-01-01
      • 2014-06-28
      • 1970-01-01
      • 2016-08-25
      • 2020-03-04
      • 1970-01-01
      相关资源
      最近更新 更多