说明
体验 消费者、生产者
登录 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
这样启动才会接收之前的消息