【发布时间】:2019-03-27 00:51:27
【问题描述】:
我的 Kafka 集群具有下一个配置。
- 具有 3 个代理的 Kafka 版本集群 (v1.1.0)
- 一个具有 5 个分区和 3 个副本的主题(“fara”)
- 在每个分区中有 10.000.000 条消息。总计 50.000.000
我正在使用 kafka-consumer-perf.test 与下面使用 ConsumerPerformance 的发行版一起提供。
我的第一个工作配置是下一个:
- 1 个消费者实例(实例的 50.000.000 条记录)
- 5 个提取线程(1 个按分区)
- 消费者组 = testgroup1
我运行的命令:
$KAFKA_HOME/bin/kafka-consumer-perf-test.sh \ --新消费者\ --经纪人列表 $BROKER_LIST \ --消息 50000000 \ --消息大小 100 \ --主题法拉\ --consumer.config $KAFKA_HOME/config/consumer.ssl.properties \ --num-fetch-threads 5 \ --显示详细统计信息\ --reporting-interval $REPORT_INTERVAL \ --group testgroup1
我定期运行以下命令
./kafka-run-class.sh kafka.admin.ConsumerGroupCommand --bootstrap-server 192.168.10.10:9093 --new-consumer --describe --group testgroup1 --command-config ../config/consumer.properties
TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-ID
fara 4 1056241 10000000 8943759 consumer-1-f9fd5d69-6ba1-4da1-9eb9-29a64a83d1fa /192.168.10.145 consumer-1
fara 3 1075308 10000000 8924692 consumer-1-f9fd5d69-6ba1-4da1-9eb9-29a64a83d1fa /192.168.10.145 consumer-1
fara 1 1056241 10000000 8943759 consumer-1-f9fd5d69-6ba1-4da1-9eb9-29a64a83d1fa /192.168.10.145 consumer-1
fara 2 2129355 10000000 7870645 consumer-1-f9fd5d69-6ba1-4da1-9eb9-29a64a83d1fa /192.168.10.145 consumer-1
fara 0 1075308 10000000 8924692 consumer-1-f9fd5d69-6ba1-4da1-9eb9-29a64a83d1fa /192.168.10.145 consumer-1
fara 4 2302837 10000000 7697163 consumer-1-f9fd5d69-6ba1-4da1-9eb9-29a64a83d1fa /192.168.10.145 consumer-1
fara 3 2377136 10000000 7622864 consumer-1-f9fd5d69-6ba1-4da1-9eb9-29a64a83d1fa /192.168.10.145 consumer-1
fara 1 2302837 10000000 7697163 consumer-1-f9fd5d69-6ba1-4da1-9eb9-29a64a83d1fa /192.168.10.145 consumer-1
fara 2 4641785 10000000 5358215 consumer-1-f9fd5d69-6ba1-4da1-9eb9-29a64a83d1fa /192.168.10.145 consumer-1
fara 0 2377197 10000000 7622803 consumer-1-f9fd5d69-6ba1-4da1-9eb9-29a64a83d1fa /192.168.10.145 consumer-1
fara 4 5576341 10000000 4423659 consumer-1-f9fd5d69-6ba1-4da1-9eb9-29a64a83d1fa /192.168.10.145 consumer-1
fara 3 5738479 10000000 4261521 consumer-1-f9fd5d69-6ba1-4da1-9eb9-29a64a83d1fa /192.168.10.145 consumer-1
fara 1 5576341 10000000 4423659 consumer-1-f9fd5d69-6ba1-4da1-9eb9-29a64a83d1fa /192.168.10.145 consumer-1
fara 2 10000000 10000000 0 consumer-1-f9fd5d69-6ba1-4da1-9eb9-29a64a83d1fa /192.168.10.145 consumer-1
fara 0 5739456 10000000 4260544 consumer-1-f9fd5d69-6ba1-4da1-9eb9-29a64a83d1fa /192.168.10.145 consumer-1
fara 4 8735653 10000000 1264347 consumer-1-f9fd5d69-6ba1-4da1-9eb9-29a64a83d1fa /192.168.10.145 consumer-1
fara 3 8825872 10000000 1174128 consumer-1-f9fd5d69-6ba1-4da1-9eb9-29a64a83d1fa /192.168.10.145 consumer-1
fara 1 8735653 10000000 1264347 consumer-1-f9fd5d69-6ba1-4da1-9eb9-29a64a83d1fa /192.168.10.145 consumer-1
fara 2 10000000 10000000 0 consumer-1-f9fd5d69-6ba1-4da1-9eb9-29a64a83d1fa /192.168.10.145 consumer-1
fara 0 8827764 10000000 1172236 consumer-1-f9fd5d69-6ba1-4da1-9eb9-29a64a83d1fa /192.168.10.145 consumer-1
fara 4 10000000 10000000 0 - - -
fara 3 10000000 10000000 0 - - -
fara 1 10000000 10000000 0 - - -
fara 2 10000000 10000000 0 - - -
fara 0 10000000 10000000 0 - - -
所有消息都被消费了。
第二个失败配置是下一个:
- 5 个消费者实例(10.000.000 条记录按实例)
- 消费者的 1 个 fetcher 线程(仅消耗一个分区)
- 消费者组 = 所有实例的 testgroup2
我运行的命令:
$KAFKA_HOME/bin/kafka-consumer-perf-test.sh \ --新消费者\ --经纪人列表 $BROKER_LIST \ --消息 10000000 \ --消息大小 100 \ --主题法拉\ --consumer.config $KAFKA_HOME/config/consumer.ssl.properties \ --num-fetch-threads 1 \ --显示详细统计信息\ --reporting-interval $REPORT_INTERVAL \ --group testgroup2
我定期运行以下命令
./kafka-run-class.sh kafka.admin.ConsumerGroupCommand --bootstrap-server 192.168.10.10:9093 --new-consumer --describe --group testgroup2 --command-config ../config/consumer.properties
TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-ID
fara 1 4129909 10000000 5870091 consumer-1-2e20de15-9396-4ebb-a77d-c16ef7c0cb03 /192.168.10.145 consumer-1
fara 4 4520065 10000000 5479935 consumer-1-ed2e3f63-23e9-489a-a9bc-422e7830fc9c /192.168.10.139 consumer-1
fara 2 4310725 10000000 5689275 consumer-1-5dbc6ec0-7bc6-4d71-8b17-1b5af261479d /192.168.10.134 consumer-1
fara 3 4038958 10000000 5961042 consumer-1-646b2ebd-3a36-4e09-a7d4-658225492a03 /192.168.10.145 consumer-1
fara 0 4524641 10000000 5475359 consumer-1-2a7186c9-c4a0-41d6-ba5e-809964b7b709 /192.168.10.134 consumer-1
fara 1 6071173 10000000 3928827 consumer-1-2e20de15-9396-4ebb-a77d-c16ef7c0cb03 /192.168.10.145 consumer-1
fara 4 6689713 10000000 3310287 consumer-1-ed2e3f63-23e9-489a-a9bc-422e7830fc9c /192.168.10.139 consumer-1
fara 2 6437488 10000000 3562512 consumer-1-5dbc6ec0-7bc6-4d71-8b17-1b5af261479d /192.168.10.134 consumer-1
fara 3 6194150 10000000 3805850 consumer-1-646b2ebd-3a36-4e09-a7d4-658225492a03 /192.168.10.145 consumer-1
fara 0 6612859 10000000 3387141 consumer-1-2a7186c9-c4a0-41d6-ba5e-809964b7b709 /192.168.10.134 consumer-1
fara 1 7489057 10000000 2510943 consumer-1-2e20de15-9396-4ebb-a77d-c16ef7c0cb03 /192.168.10.145 consumer-1
fara 4 8212273 10000000 1787727 consumer-1-ed2e3f63-23e9-489a-a9bc-422e7830fc9c /192.168.10.139 consumer-1
fara 2 7883485 10000000 2116515 consumer-1-5dbc6ec0-7bc6-4d71-8b17-1b5af261479d /192.168.10.134 consumer-1
fara 3 7457277 10000000 2542723 consumer-1-646b2ebd-3a36-4e09-a7d4-658225492a03 /192.168.10.145 consumer-1
fara 0 8039217 10000000 1960783 consumer-1-2a7186c9-c4a0-41d6-ba5e-809964b7b709 /192.168.10.134 consumer-1
fara 2 8535701 10000000 1464299 consumer-1-5dbc6ec0-7bc6-4d71-8b17-1b5af261479d /192.168.10.134 consumer-1
fara 3 8113576 10000000 1886424 consumer-1-5dbc6ec0-7bc6-4d71-8b17-1b5af261479d /192.168.10.134 consumer-1
fara 0 8580780 10000000 1419220 consumer-1-2a7186c9-c4a0-41d6-ba5e-809964b7b709 /192.168.10.134 consumer-1
fara 1 7926793 10000000 2073207 consumer-1-2a7186c9-c4a0-41d6-ba5e-809964b7b709 /192.168.10.134 consumer-1
fara 4 8897425 10000000 1102575 consumer-1-646b2ebd-3a36-4e09-a7d4-658225492a03 /192.168.10.145 consumer-1
fara 4 9884954 10000000 115046 consumer-1-646b2ebd-3a36-4e09-a7d4-658225492a03 /192.168.10.145 consumer-1
fara 3 8693017 10000000 1306983 consumer-1-646b2ebd-3a36-4e09-a7d4-658225492a03 /192.168.10.145 consumer-1
fara 1 8564365 10000000 1435635 consumer-1-646b2ebd-3a36-4e09-a7d4-658225492a03 /192.168.10.145 consumer-1
fara 2 9197795 10000000 802205 consumer-1-646b2ebd-3a36-4e09-a7d4-658225492a03 /192.168.10.145 consumer-1
fara 0 9217803 10000000 782197 consumer-1-646b2ebd-3a36-4e09-a7d4-658225492a03 /192.168.10.145 consumer-1
fara 4 9942050 10000000 57950 - - -
fara 3 8749827 10000000 1250173 - - -
fara 1 8621461 10000000 1378539 - - -
fara 2 9311260 10000000 688740 - - -
fara 0 9274899 10000000 725101 - - -
我不明白为什么没有消耗所有记录。请问有什么帮助吗?
【问题讨论】:
-
您正在使用外部工具来验证滞后/消耗。你的消费者流程呢?你能确认你没有收到所有的消息吗?您可以编辑您的帖子,以便显示您在消费者方面使用的代码吗?
-
@mjuarez:我添加了我在初始帖子中运行的命令。我看到客户端向我显示的统计信息中没有使用某些消息(在 5 个消费者中的 2 个)。
-
您能解释一下“消费者的 1 个提取线程(仅消耗一个分区)”吗?在这种情况下,您将有一个消费者获取所有 5 个分区;请注意,您没有指定从哪个分区读取
-
@cricket_007:当消费者的第一个实例启动时,我可能会从所有 5 个分区中获取(如果它是唯一运行的消费者),但是当其他 4 个消费者启动时,分区应该被消费者划分,一个,最后所有的记录都应该被消费,不应该吗?
-
对于
num-fetch-threads 5,当然可以,但不仅仅适用于 1 个提取线程
标签: apache-kafka consumer