kafka偏移值在__consumer_offset和实际主题偏移之间有所不同

时间:2018-07-29 19:45:17

标签: apache-kafka kafka-consumer-api

为什么同一主题中实际主题中的偏移值与__consumer_offset中的偏移值不同? PFB偏移位置以及使用的命令。

__consumer_offsets_13
=====================================
[root@node1 __consumer_offsets-13]# /opt/kafka_2.11-0.10.1.1/bin/kafka-run-class.sh kafka.tools.DumpLogSegments --deep-iteration --print-data-log --files ./00000000000000000000.log | tail -n 5
_offset: 41368_ position: 4190035 CreateTime: 1532888732120 isvalid: true payloadsize: 28 magic: 1 compresscodec: NoCompressionCodec crc: 1789813648 keysize: 43 key: my_consumer_groupmy_topic payload: Ad�I��d�p-�

my_topic
=====================================
[root@node1 __consumer_offsets-13]# /opt/kafka_2.11-0.10.1.1/bin/kafka-run-class.sh kafka.tools.DumpLogSegments --deep-iteration --print-data-log --files ../my_topic-0/00000000000000000000.log | tail -n 5
offset: 2080 position: 315620 CreateTime: 1532891670673 isvalid: true payloadsize: 118 magic: 1 compresscodec: NoCompressionCodec crc: 744326405 payload: {message_content_1}
_offset: 2081_ position: 315772 CreateTime: 1532891670673 isvalid: true payloadsize: 118 magic: 1 compresscodec: NoCompressionCodec crc: 2573656188 payload: {message_content_2}

我想念什么?

1 个答案:

答案 0 :(得分:1)

kafka.tools.DumpLogSegments工具将打印日志的内容。

针对__consumer_offsets运行时看到的偏移量是包含使用者组偏移量的消息的偏移量。这不是消费群体的补偿!

使用者组的实际偏移量包含在该消息的有效负载中。在您的输出中,它显示为payload: Ad�I��d�p-�,因为它需要解码。

如果要打印__consumer_offsets的内容,请参见Kafka how to read from __consumer_offsets topic