使用命令行

时间:2016-07-24 07:49:54

标签: apache-kafka kafka-consumer-api

任何想法如何在使用命令行在kafka中使用消息时设置组名。

我尝试使用以下命令:

bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic nil_RF2_P2 --from-beginning --config group.id=test1
'config' is not a recognized option

目标是使用以下命令查找已消耗消息的偏移量:

bin/kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --zookeeper localhost:2181 --group test1

在这方面可以有人帮忙!!

提前致谢!!

5 个答案:

答案 0 :(得分:15)

最简单的解决方案是:

  

bin / kafka-console-consumer.sh --zookeeper localhost:2181 --topic nil_RF2_P2 - from-beginning - consumer-property group.id = test1

如果您指定标志 - 从头开始​​,请记住消费者群体过去不应该使用任何记录,否则您的消费者将从最早的未消费记录开始消费指定的组(而不是从实际开始,如您所愿 错误地假设。)

答案 1 :(得分:12)

得到了从命令提示符更改组名的答案!!

步骤进行:

  1. 创建一个新的consumer.properties文件,例如consumer1.properties
  2. 更改group.id=<Give a new group name>中的consumer1.properties
  3. bin/kafka-console-consumer.sh --new-consumer --bootstrap-server localhost:9092 --topic topicname --from-beginning --consumer.config config/consumer1.properties --delete-consumer-offsets

答案 2 :(得分:3)

如果您想要更改组ID而不丢失记录的偏移量,您可以手动获取当前Group.id的偏移量并设置为具有新ID的新运行使用者。如果没有任何控件来获取消费者实例中的偏移量,则可以运行此命令。

//File1.c
static int st;

//File2.c
static int st;

然后您可以从特定偏移量中搜索数据。注意你应该调用追求调查,分配命令不起作用。 你也可以在github上看到我的代码示例

Example here

答案 3 :(得分:1)

您可以使用--group选项(经Kafka 2.0.0测试):

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --group test-consumer --topic test --from-beginning

答案 4 :(得分:0)

如果您正在使用bash,那么您可以使用其进程替换功能。

bin/kafka-console-consumer.sh --zookeeper localhost:2181 \
--topic nil_RF2_P2 --from-beginning \
--consumer.config <(echo group.id=test1)