【问题标题】:Zookeeper on same node as kafka?与kafka在同一节点上的Zookeeper?
【发布时间】:2017-11-27 20:12:41
【问题描述】:

我正在建立一个 kafka+zookeeper 集群。假设我想要 3 个 kafka 经纪人。我想知道是否可以在它们上设置 3 台带有 kafka 的机器,然后在相同的节点上运行 zookeeper 集群。所以集群中每台机器都有一个kafka+zookeeper节点,而不是kafka有3台机器,zookeeper有3台机器(一共6台)。

有什么优点和缺点?这些机器很可能专门用于运行 kafka/zookeeper。我正在考虑是否可以在不牺牲性能的情况下降低一点成本。

【问题讨论】:

    标签: apache-kafka apache-zookeeper


    【解决方案1】:

    多年来,我们一直在生产环境的同一节点上运行 zookeeper 和 kafka broker,没有任何问题。集群以 非常非常高 qps 和 IO 流量运行,所以我敢说我们的经验适合大多数场景。

    优点很简单,就是节省机器。 Kafka 代理是 IO 密集型的,而 zookeeper 节点不会花费太多磁盘 IO 和 CPU。所以在大多数情况下他们不会互相打扰。

    但请记住继续关注您的 CPU 和 IO(不仅是磁盘,还有网络)使用情况,并在达到瓶颈之前增加集群容量。

    我没有看到任何缺点,因为我们有非常好的集群容量规划。

    【讨论】:

    • 感谢您的回复 :) 如果我想问一下,您知道您运行 kafka+zookeeper 的机器有多强大(估计)吗?
    • @Weibo Li 当服务器宕机时,您是否有任何问题,这意味着 kafka broker 和 zookeeper 同时宕机?我们有类似的设置,我想知道这是否有助于我们解决这个问题stackoverflow.com/questions/52367825/…
    • 在我的情况下,zookeeper 和 kafka 一起倒下会搞砸整个集群吗?遇到过这个问题吗?
    • @Weibo Li 这个问题可以看看吗?stackoverflow.com/q/64264379/12953672
    【解决方案2】:

    当 Kafka 集群很小(3-5 个节点)时,将它们并置是有意义的。但请记住,它是两个对磁盘 I/O 敏感的应用程序的托管。工作负载以及它们与本地 Zk 的交流程度在这里也起着重要作用,尤其是从页面缓存内存使用的角度来看。

    一旦 Kafka 集群增长到十几个或更多节点,在每个节点上相应地配置 Zk 将产生仲裁开销(例如更慢的写入,仲裁检查中的更多节点),因此必须建立一个单独的 Zk 集群。

    总体而言,如果一开始 Kafka 集群的使用率很低,并且您想节省一些成本,那么将它们并置开始是合理的,但有一个迁移策略,即建立一个单独的 Zk 集群,以免一次措手不及Kafka 集群必须水平扩展。

    【讨论】:

      猜你喜欢
      • 2017-11-11
      • 1970-01-01
      • 2019-05-18
      • 1970-01-01
      • 2017-09-14
      • 2016-06-16
      • 1970-01-01
      • 1970-01-01
      • 2014-07-24
      相关资源
      最近更新 更多