Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Kafka consumer卡在iterator.hasNext()上(实际上是暂停和恢复),即使主题中有大量消息可供使用_Java_Multithreading_Apache Kafka_Distributed Computing_Apache Zookeeper - Fatal编程技术网

Java Kafka consumer卡在iterator.hasNext()上(实际上是暂停和恢复),即使主题中有大量消息可供使用

Java Kafka consumer卡在iterator.hasNext()上(实际上是暂停和恢复),即使主题中有大量消息可供使用,java,multithreading,apache-kafka,distributed-computing,apache-zookeeper,Java,Multithreading,Apache Kafka,Distributed Computing,Apache Zookeeper,我正在开发一个分布式解决方案,其中两个使用者在同一使用者组下的两台不同服务器上运行,并使用3台机器的Kafka主题中的2个分区和3个复制因子。在我的consumer类(可调用的)中,关键部分如下所示: @Override public Object call() throws Exception { ConsumerIterator<byte[], byte[]> it = stream.iterator(); try { wh

我正在开发一个分布式解决方案,其中两个使用者在同一使用者组下的两台不同服务器上运行,并使用3台机器的Kafka主题中的2个分区和3个复制因子。在我的consumer类(可调用的
)中,关键部分如下所示:

@Override
public Object call() throws Exception {
    ConsumerIterator<byte[], byte[]> it = stream.iterator();
    try {            
        while (it.hasNext()){
            byte[] message = it.next().message();
            // other code here
        }
    } catch (Throwable e) {
        e.printStackTrace();
    }
    log.error("Shutting down Thread: " + streamNumber + ", kafka consumer offline!!!");
}
消费者服务器都是在Linux上运行的32线程64 GB机器

你知道是什么引起的吗?提前谢谢。如果您需要其他信息或有任何不清楚的地方,请告诉我

更新:我已经尝试将分区数量从2个增加到32个,并且在我的每个消费者服务器中产生了16个消费者线程,每个消费者线程使用一个分区。然而,这似乎并没有改变这种行为。我注意到同样的暂停和恢复周期


我遇到了完全相同的问题。在浏览决议的时候,我遇到了卡夫卡在网站上已经报道过的问题

看起来它们已在0.9.0.1版本中解析。我将尝试用这个版本更新库。如果我能用新的jar解决这个问题,我将进行更新。同时,你也可以尝试同样的方法。 ~z~干杯

group.id=ct_job_backfill     
zookeeper.session.timeout.ms=1000
zookeeper.sync.time.ms=200
auto.commit.enable=true
auto.offset.reset=smallest
rebalance.max.retries=20
rebalance.backoff.ms=2000
topic.name=contentTaskProd