Kafka消费者100%的CPU使用率

时间:2015-10-01 19:53:42

标签: apache-kafka kafka-consumer-api

我有一位卡夫卡消费者已经完美地运行了几天。昨天经纪人倒下了。从那以后,消费者显示出100%的CPU使用率。当经纪人上涨时,使用率大幅下降(低于10%)。 我很好奇为什么当经纪人关闭时,使用率是100%(或接近100%)?我在日志中看不到任何内容。

  • Kafka经纪人/服务器:0.8.2.1
  • Kafka高级别api:0.8.2.0

2 个答案:

答案 0 :(得分:1)

kafka使用者和代理的CPU使用率增加通常是由于来自使用者的轮询请求的频率很高。这主要是因为用户配置效率低。

检查两个属性

  1. 提取最小字节数->完成轮询请求的最小字节数
  2. fetch.max.wait.ms ->经纪人完成轮询请求的最大等待时间

如果主题中的数据不是经常产生的,则将 fetch.max.wait.ms 的值保持较高,并将 fetch.min.bytes 的值保持为非零。避免对经纪人的频繁轮询请求

答案 1 :(得分:0)

我已经通过从以下版本升级kafka解决了该问题:

    <dependency>
        <groupId>org.apache.kafka</groupId>            
        <artifactId>kafka_2.11</artifactId>
        <version>0.11.0.1</version>
    </dependency>

    <dependency>
        <groupId>org.apache.kafka</groupId>
        <artifactId>kafka_2.12</artifactId>
        <version>2.0.1</version>
    </dependency>