【问题标题】:Kafka on Multiple Servers多台服务器上的 Kafka
【发布时间】:2016-12-07 02:24:20
【问题描述】:

我按照link 安装了 Kafka + Zookeeper。一切正常,但我在 2 台服务器上设置了 Kafka + Zookeeper。

我已将kafka/config/server.properties 设置为:

  • 服务器 1:broker.id = 0
  • 服务器 1:zookeeper.connect = localhost:2181,99.99.99.91:2181
  • 服务器 2:broker.id = 1
  • 服务器 2:zookeeper.connect = localhost:2181,99.99.99.92:2181

我想知道以下内容:

  • 当我发布主题时,它会发送到两个实例,还是只发送到加载它的服务器?
  • 为了像这样使用多台服务器,我是否需要使用诸如 HAProxy 之类的东西和 3 台服务器?
  • 在使用 3 台服务器时,我是否遗漏了什么重要的东西?

感谢您的任何回答。

【问题讨论】:

    标签: apache-kafka apache-zookeeper devops


    【解决方案1】:

    一开始,我会假设这里提到的实例是指 Kafka 服务器实例。

    问题 #1:新创建主题的信息将存储在 Zookeeper 中,一些关键信息将加载到所有代理的元数据缓存缓冲区中。

    问题 #2:不需要为 Kafka 集群配置任何类型的代理服务器。它自行管理实现故障转移和负载平衡。

    问题 #3:分配一个未使用的 id 和数据目录,就像您为这两个代理所做的那样就足够了。

    最后但并非最不重要的一点是,由于 ZAB 需要多数,因此最好使用奇数台机器作为 zookeeper quorum。

    【讨论】:

    • 谢谢!我了解服务器 1 的端点,它使用 Kafka/ZK 连接到 2 或 3。但是如果服务器 1 出现故障,那么所有 Kafka/ZK 的端点都会出现单点故障,这就是为什么我想知道人们如何绕过它,也许是 DNS 心跳或其他什么?
    • 其中一个经纪人将被选为负责主题/分区管理的控制器。如果控制器崩溃,Kafka 会启动自动选举新控制器。在此过程中,用户无需担心任何事情。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 2022-06-15
    相关资源
    最近更新 更多