ConsumerOffsetChecker 的 Kafka 10 kafka-consumer-groups.sh 与 Kafka 8 kafka-run-class.sh

red*_*ant 6 apache-kafka kafka-consumer-api

我需要在 Kafka 10 中命名我的消费者,就像我在 Kafka 8 中所做的一样,因为我有脚本可以嗅出并进一步使用这些信息。

显然,consumer.id 的默认命名已更改(并且现在还单独显示了 client.id)。我没有看到文档中提到或比较了这一点。

在 Kafka 10 术语中,我需要做什么才能让它生成与Kafka 8 中相同的 '<group> <host> ...' 消费者和/或客户端 ID 格式(而不是 'consumer-#- <guid>' 格式如下所示)?

卡夫卡 8:

/usr/local/kafka-0.8/bin/kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --zkconnect localhost:2181 --group optimizer-group --topic optimizer-default-topic

Group           Topic                          Pid Offset          logSize         Lag             Owner
optimizer-group optimizer-default-topic        0   17059718        17059725        7               my-group_myhost.com-1497048808577-1575fa11-0
...
Run Code Online (Sandbox Code Playgroud)

卡夫卡10:

/usr/local/kafka/bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group optimizer-group --describe

TOPIC                          PARTITION  CURRENT-OFFSET  LOG-END-OFFSET  LAG        CONSUMER-ID                                       HOST                           CLIENT-ID
eddude-error-topic             0          0               0               0          consumer-2-e839517b-a150-498d-9054-31ec7a655936   /10.xxx.xx.xxx                 consumer-2
...
Run Code Online (Sandbox Code Playgroud)

ame*_*tic 1

0.8 中的默认消费者 ID 命名约定是主机名-时间戳-[UUID 的最高有效 8 位],尽管您可以设置consumer.id覆盖它。

然而,0.10 中的默认消费者 id 更改为 [client.id]-[UUID],并且似乎无法直接指定它。唯一的办法就是设置client.id间接设置consumer id。