【问题标题】:Kafka & Zookeper deployment in production in K8sKafka 和 Zookeeper 在 K8s 生产环境中的部署
【发布时间】:2017-12-30 04:19:20
【问题描述】:

有人对生产环境的 Kafka 和 ZK 配置有什么建议吗?

我在网上看了一下,有一些链接报告了压缩、RAM 等方面的配置,但没有与 ZK 和 Kafka 实例的数量相关...

我的部署有 5 个 zoo 和 3 个 kafka 实例:

NAME      READY     STATUS              RESTARTS   AGE
kafka-0   0/1       Running             0          12s
kafka-1   0/1       Running             0          12s
kafka-2   0/1       Running             0          12s
zoo-0     0/1       Running             0          12s
zoo-1     0/1       Running             0          12s
zoo-2     0/1       Running             0          12s
zoo-3     0/1       Running             0          12s
zoo-4     0/1       Running             0          12s   

我得到的是最好部署一个 Zk 集群(单独)然后指向那个集群。 Kubernetes 上的集群通信怎么样?

感谢任何帮助或建议 - 谢谢

【问题讨论】:

    标签: configuration apache-kafka kubernetes production-environment zk


    【解决方案1】:

    我不是这方面的专家,但会先尝试一下。

    我不明白的一件事是为什么你的 zookeepers 比 kafka 多 -> Zookeeper 是 kafka 的元数据存储,因此您可以从一个 zookeeper 开始,处理故障转移可以使用 3 个 zookeeper。

    所以要拥有一个简单的 Kafka 生产集群,您可以从 3 / 5 个 Kafka 节点和 3 个 Zookeeper 开始。

    Kafka 磁盘大小应取决于您想要的保留时间。 节点数量应取决于您想要的并行化。

    我不了解 Kubernetes,所以不确定。但一般来说,zookeeper 应该为每个基础设施都有单独的根文件夹,并且 3 个 zookeeper 应该是好的开始。 (注:zookeeper磁盘你可能想用SSD试试,有人说好,有人说没有改善,我建议尝试验证)

    进入生产阶段,我会更关注监控并确保服务不会中断。您可以通过执行以下操作来确保

    1. Kafka 是预写日志,因此请确保在集群级别和主题级别都正确设置了您的rendition.bytes 和retention.ms
    2. 监控任何滞后,特别是消费者滞后
    3. Leader分布是均匀的,你必须监控它,以防任何节点重启,分布可能不均匀。
    4. 如果您要处理大量数据,请不要担心压缩问题。

    【讨论】:

      猜你喜欢
      • 2019-08-19
      • 1970-01-01
      • 2014-11-09
      • 1970-01-01
      • 1970-01-01
      • 2012-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多