Spark 2.2.1 + Kafka 0.10 + Spark流媒体.
批处理持续时间为1秒,每个分区的最大速率为500,轮询间隔为120秒,最大轮询记录为500,Kafka中没有分区为500,启用缓存使用者.
在尝试从Kafka读取数据时,我们间歇性地观察到非常高的读取延迟.高延迟导致Kafka消费者会话到期,因此Kafka经纪人将消费者从该组中移除.消费者继续重试,最终失败了
[org.apache.kafka.clients.NetworkClient] - Disconnecting from node 12 due to request timeout [org.apache.kafka.clients.NetworkClient] - Cancelled request ClientRequest [org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient] - Cancelled FETCH request ClientRequest.**
由于这个原因,很多批次都处于排队状态.
只要多个客户端并行尝试从同一Kafka群集读取数据,就会发生高读取延迟.Kafka集群拥有大量代理,可以支持高网络带宽.
当使用spark 1.5和Kafka 0.8消费者客户端对同一个Kafka集群运行时,我们没有看到任何读取延迟.