【问题标题】:Mapping out a Kafka+Zookeeper cluster绘制 Kafka+Zookeeper 集群
【发布时间】:2019-04-12 07:12:56
【问题描述】:

背景

我继承了 Kafka/Zookeeper 安装。我对这些知识略知一二——我知道一般架构、客户端如何工作、主题等,参与过 Java 客户端编程等。

但安装有点可疑。它们是 Kafka 和 Zookeeper 的三个实例(在各自的 docker 容器中)。假设它们应该可以工作,但我看到的是所有进程都输出 immense 大量日志输出,并带有大量(不同)警告和错误。我的印象是其中一些似乎很正常(或者一直在自我修复),并且很难确定一切是否按预期工作,并且设置正确。

根据 Google 的说法,其中一些与经纪人的不正常关闭有关;损坏的个人主题等。由于这是一个测试环境,我可以很容易地删除这些文件。

我知道一些命令可以帮助我检查主题等(基本内容,例如列出它们、显示它们的个人配置等)。

不过……

问题

是否有在线资源/文档可以用作系统演练,以检查一切是否基本设置正常; 例如来解决这些问题:

  • 三个 Zookeeper 和三个 Kafka 实例是否正确地相互通信以实现高可用性?他们有正确的“领导”等吗?
  • 服务器通常是否“健康”,即是否能够轻松接受连接等?
  • 主题如何运作(里面有什么,有多少消息等)?

我知道人们可能很快就会认为这个问题太笼统了;我不是要你解决我的问题。我正在寻找一个资源来系统地完成这样的安装 - 它可能会或可能不会涵盖我给出的示例,但它绝对应该提供一种系统的方法来找出事情是否从根本上错误。

【问题讨论】:

    标签: apache-kafka apache-zookeeper


    【解决方案1】:

    Stéphane Maarek 的 packtpub tutorial/training 是在集群模式下设置 kafka 的绝佳资源。但是他在 ubuntu VM 中的 AWS 云中做到了。

    我已按照相同的步骤安装在 cent OS 中的 Vagrant VM 中。您可以找到代码here。

    VM 有 yahoo kafka manager 来监控 kafka 内部细节。可用、健康、分区、领导者等的代理列表,

    kafka manager 可以帮助您进行高级别的监控。

    请提供您的 cmets。

    【讨论】:

    • 问题似乎不是设置,而是监控
    【解决方案2】:

    您可能想熟悉JMX metrics 以及如何在整个集群中收集它们,而不是仅仅查看日志。

    如果您想实际收集和分析日志,您可能需要单独使用 Elasticsearch 之类的工具。

    你不会在一个主题中看到“多少条消息”,你需要更多的监控来了解端口是否实际打开、Kafka 进程是否正在运行、磁盘是否已满等。

    我的意思是,Kafka 需要喂养和浇水,如果你打算将它生产化,你不能只是建立一个小集群而忘记它。即使你一开始就认为它设置正确,但增加它的负载最终会导致它陷入糟糕的状态。

    对于您的开发环境进行有限试用以全面了解您的集群运行状况,Confluent Control Center 可以提供帮助。


    为了解决“里面有什么”问题,我建议您设置一个 Schema Registry,并说服 Kafka 生产者使用它。

    【讨论】:

      猜你喜欢
      • 2017-11-20
      • 2016-01-25
      • 2019-02-27
      • 2017-08-31
      • 2021-03-06
      • 2019-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多