第 10 章 管理 Kafka


使用额外的配置属性来维护 AMQ Streams 部署。您可以添加并调整设置以响应 AMQ Streams 的性能。例如,您可以引入额外的配置来提高吞吐量和数据可靠性。

10.1. 使用 Kafka 静态配额插件在代理上设置限制

重要

Kafka 静态配额插件只是一个技术预览。技术预览功能不包括在红帽生产服务级别协议(SLA)中,且其功能可能并不完善。红帽不推荐在生产环境中实施任何技术预览功能。此技术预览功能为您提供对即将推出的产品创新的早期访问,允许您在开发过程中测试并提供反馈。有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围

使用 Kafka 静态配额插件在 Kafka 集群中的代理上设置吞吐量和存储限制。您可以通过在 Kafka 配置文件中添加属性来启用插件和设置限制。您可以设置字节阈值和存储配额,以在与代理交互的客户端上放置限制。

您可以为制作者和消费者带宽设置字节速率阈值。总限值分布在访问代理的所有客户端上。例如,您可以为制作者设置字节的阈值 40 MBps。如果两个制作者正在运行,则它们各自限制为 20 MBps 吞吐量。

存储配额在软限制和硬限制之间节流 Kafka 磁盘存储限制。限制适用于所有可用磁盘空间。生产者在软限制和硬限制之间逐渐下降。限制可防止磁盘填满速度超过其容量。完整磁盘可能会导致难以修复的问题。硬限制是最大存储限制。

注意

对于 JBOD 存储,限制适用于所有磁盘。如果代理使用两个 1 TB 磁盘,且配额是 1.1 TB,一个磁盘可能会填满,而其他磁盘几乎为空。

先决条件

  • AMQ Streams 安装 在所有将用作 Kafka 代理的主机上。
  • ZooKeeper 集群被 配置并运行

流程

  1. 编辑 /opt/kafka/config/server.properties Kafka 配置文件。

    这个示例配置中会显示插件属性。

    Kafka 静态配额插件配置示例

    # ...
    client.quota.callback.class=io.strimzi.kafka.quotas.StaticQuotaCallback 1
    client.quota.callback.static.produce=1000000 2
    client.quota.callback.static.fetch=1000000 3
    client.quota.callback.static.storage.soft=400000000000 4
    client.quota.callback.static.storage.hard=500000000000 5
    client.quota.callback.static.storage.check-interval=5 6
    # ...

    1
    加载 Kafka Static Quota 插件。
    2
    设置制作者字节级阈值。本示例中的 1 Mbps.
    3
    设置消费者字节速率的阈值。本示例中的 1 Mbps.
    4
    为存储设置较低的软限制。在本示例中,400 GB。
    5
    为存储设置较高的硬限制。本例中有 500 GB。
    6
    设置存储检查间隔(以秒为单位)。本例中的 5 秒。您可以将其设置为 0 来禁用检查。
  2. 使用默认配置文件启动 Kafka 代理。

    su - kafka
    /opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties
  3. 验证 Kafka 代理是否正在运行。

    jcmd | grep Kafka
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.