Kafka 中的“__consumer_offsets”主题是什么

hum*_*ity 3 apache-kafka

当我运行这个命令时,我得到 2 个主题。我知道我创建了测试主题,但我看到了一个名为“__consumer_offsets”的附加主题。顾名思义,它与消费者偏移量有关,但它是如何使用的?

$ bin/kafka-topics.sh --list --zookeeper localhost:2181 __consumer_offsets test

$ bin/kafka-topics.sh --describe --zookeeper localhost:2181
Topic:__consumer_offsets        PartitionCount:50       ReplicationFactor:1     Configs:segment.bytes=104857600,cleanup.policy=compact,compression.type=producer
        Topic: __consumer_offsets       Partition: 0    Leader: 0       Replicas: 0     Isr: 0
        Topic: __consumer_offsets       Partition: 1    Leader: 0       Replicas: 0     Isr: 0
                      *
                      *
                      *
        Topic: __consumer_offsets       Partition: 48    Leader: 0       Replicas: 0     Isr: 0
        Topic: __consumer_offsets       Partition: 49    Leader: 0       Replicas: 0     Isr: 0
Run Code Online (Sandbox Code Playgroud)

这发生在 Kafka 1.1.0 以及为什么有 50 个分区。也在寻找一种方法来禁用它,因为每次我尝试运行“描述”主题时,它首先打印 __consumer_offsets 的 50 个分区,然后打印我的主题。

小智 5

在 Kafka 的初始版本中,offset 由 zookeeper 管理,但随着时间的推移,Kafka 不断发展,引入了许多新功能。现在 Kafka 管理内部/系统级主题中的偏移量,即 __consumer_offsets。

每当你在没有明确指定分区数的情况下创建一个主题时,Kafka 最终会默认为该主题创建 50 个分区。同样暗示主题 __consumer_offsets。