我有一个使用Kafka 1.0作为队列的应用程序。Kafka主题有80个分区和80个正在运行的使用者。(Kafkapython消费者)。
通过运行命令:
./bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group mygroup --describe
我看到其中一个分区被卡在一个偏移位置,并且随着新记录的添加,延迟会不断增加。
上面命令的输出如下所示:
TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST
118 mytopic 37 1924 2782 858 kafka-python-1.3.4-3da99d4d-63e8-4e72-967e-xxxxxxxxxxx/localhost
119 mytopic 38 2741 2742 1 kafka-python-1.3.4-40b44482-39fc-42d0-8f55-xxxxxxxxxxx/localhost
120 mytopic 39 2713 2713 0 kafka-python-1.3.4-4121d080-1d7c-4d6b-ac58-xxxxxxxxxxx/localhost
121 mytopic 40 2687 2688 1 kafka-python-1.3.4-43441f6e-fd35-448e-b791-xxxxxxxxxxx/localhost
这是什么原因?此外,不需要使用重置偏移量命令重置偏移量,因为可能不会定期手动监视此服务器。
客户端作为Linux m/c中的并行进程在后台运行:
consumer = KafkaConsumer('mytopic', group_id='mygroup', bootstrap_servers='localhost:9092',
session_timeout_ms=120000, heartbeat_interval_ms=100000, max_poll_records=1,
auto_commit_interval_ms=100000, request_timeout_ms=350000, max_partition_fetch_bytes=3*1024*1024,
value_deserializer=lambda m: json.loads(m.decode('ascii')))
for message in consumer:
msg = json.loads(message.value)
process_message(msg)
我也面临着类似的问题。我不是kafka方面的专家,因此需要您的意见。我有20个分区和20个工作pod正在运行(1:1比例)。在这20个分区中,有2个分区过载(不一定总是相同)。既然我还有18个分区,为什么不将作业发送给这些分区,并让它们Rest一下过载的分区。
如果没有密钥,那么Kafka是否总是进行循环,而不考虑分区上的当前负载?
例如:在上面的示例中,其中一个分区有858个滞后,而几乎所有其他分区都有0/1个滞后。那么为什么它不重新分配或开始向其他分区发送更多负载呢?
如果消费者补偿在一段时间后没有移动,则消费者可能已经停止。如果使用者偏移量正在移动,但使用者滞后(日志末尾和使用者偏移量之间的差值)正在增加,则使用者的速度比生产者的速度慢。如果使用者速度较慢,典型的解决方案是增加使用者中的并行度。这可能需要增加主题的分区数。
更多信息,请访问Kafka文档。
简单地说;你生产的比消费的多。您需要提高消费率以减少滞后。您需要添加更多的消费者。如果您只是在测试,那么您的消费者速度很慢。
我正在建立一个新的Kafka集群,为了测试目的,我创建了一个有1个分区和3个副本的主题。 有什么想法哪种配置或其他东西可以帮助我消费更多的数据吗?? 提前致谢
我是Apache Kafka的一个新用户,我还在了解它的内部结构。 在我的用例中,我需要从Kafka Producer客户端动态增加一个主题的分区数量。 我发现了关于增加分区大小的其他类似问题,但它们使用了zookeeper配置。但是我的kafkaProducer只有Kafka broker配置,而没有zookeeper配置。 有没有什么方法我可以增加一个主题的分区数量从生产者端?我运行的是Kaf
我们所有的30个主题都是用kafka中的10个分区创建的。我们正在按分区监控所有主题/group p-id的滞后。 我们正在使用Fluentd插件从kafka读取和路由日志。该插件是使用高级消费者实现的。我们为插件的单个主题配置了一些消费者,为多个主题配置了一些消费者。总的来说,除了3个主题之外,数据正在流经,没有问题。 问题是,对于正在处理的30个主题中的3个,我们发现分区滞后值不一致,即查看特
本文向大家介绍Kafka 分区数可以增加或减少吗?为什么?相关面试题,主要包含被问及Kafka 分区数可以增加或减少吗?为什么?时的应答技巧和注意事项,需要的朋友参考一下 我们可以使用 bin/kafka-topics.sh 命令对 Kafka 增加 Kafka 的分区数据,但是 Kafka 不支持减少分区数。 Kafka 分区数据不支持减少是由很多原因的,比如减少的分区其数据放到哪里去?是删除,
我想检查手动分配给特定主题的消费者组的滞后,这可能吗。我使用的是Kafka-0.10.0.1。我用的是shKafka跑步课。shKafka。管理ConsumerGroupCommand-new consumer-description-bootstrap server localhost:9092-group test但它说不存在组,所以我想知道当我们手动分配分区时,是否可以检查使用者的延迟。
我们面临的情况是,只要有滞后,我们的akka流kaka消费者处理率就会下降。当我们在分区中没有任何延迟的情况下启动它时,处理速度会突然增加。 MSK群集-10个主题-每个40个分区= 为了在系统中实现高吞吐量和并行性,我们实现了akka-stream-kafka消费者分别订阅每个主题分区,从而在消费者和分区之间实现1:1映射。 这是消费者设置: ec2服务实例数-7 每个服务为10个主题中的每一个