kafka_2.12-2.4.x-consumer消费者命令 和 producer生产者命令(linux)

说明

体验 消费者、生产者

登录 hadoop1 ,进行下面操作(登录哪个 hadoop2、hadoop3 也可以)

linux 系统命令在 kafka目录\bin 目录下,后缀是 .sh

进入 kafka 目录:

cd /program/kafka_2.12-2.4.1

消费者命令

需要先启动消费者

bin/kafka-console-consumer.sh --bootstrap-server hadoop1:9092 --topic userlog

解释:

  • --bootstrap-server hadoop1:9092:指定kafka服务的ip、端口号
  • --topic userlog:指定topic

提示:启动消费者,并指定 新主题 topic,会弹出个错误,但不影响运行,错误如下:

Error while fetching metadata with correlation id 2

指定多个服务器

bin/kafka-console-consumer.sh --bootstrap-server hadoop1:9092,hadoop2:9092,hadoop3:9092 --topic userlog

指定消费者组

bin/kafka-console-consumer.sh --bootstrap-server hadoop1:9092 --topic userlog --group group1

生产者命令

需要先启动消费者

bin/kafka-console-producer.sh --broker-list hadoop1:9092 --topic userlog

解释:

  • --broker-list hadoop1:9092:指定kafka的ip、端口号
  • --topic userlog:指定topic

执行结果:

>

继续输入:

>test
>aaa
>bbb
>ccc

消费者会显示:

test
aaa
bbb
ccc

重启消费者

ctrl + c 可停止 消费者

然后再次启动 消费者:

bin/kafka-console-consumer.sh --bootstrap-server hadoop1:9092 --topic userlog

将 不会 收到之前的消息

接收之前的消息,需要加参数 --from-beginning,如下:

bin/kafka-console-consumer.sh --bootstrap-server hadoop1:9092 --topic userlog --from-beginning

这样启动才会接收之前的消息


原文出处:/show_1IX1zxpatQW5.html