Linux下的kafka终端发送、接收消息(生产、消费模式)

新接触kafka,学习记录下。
kafka下载链接:https://archive.apache.org/dist/kafka/2.4.0/kafka_2.12-2.4.0.tgz

producer 消息的生成者,即发布消息 consumer
消息的消费者,即订阅消息 broker
Kafka以集群的方式运行,可以由一个或多个服务组成,服务即broker
zookeeper 协调转发

准备工作:
下载解压进入目录
tar -xzf kafka_2.12-2.4.0.tgz
cd kafka_2.12-2.4.0

1、# 启动 Zookeeper

1
./bin/zookeeper-server-start.sh config/zookeeper.properties

2、 启动 Kafka

1
./bin/kafka-server-start.sh config/server.properties

3、创建一个主题topic,注意自己的端口号

1
sudo ./bin/kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9092  --topic test --from-beginning

4、使用list查看一下主题是否创建成功

1
2
3
4
llw@ubuntu:/opt/kafka_2.12-2.4.0$ ./bin/kafka-topics.sh --list --zookeeper localhost first_topic
__consumer_offsets
test
testTopic

可以看到有两个主题test、testTopic

5、启动一个生产者,也就是发送消息的

1
./kafka-console-producer.sh --broker-list localhost:9092 --topic first_topic

在这里插入图片描述
如图,端口号使用的是9092

6、启动一个消费者、即是接收消息的

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

在这里插入图片描述
可以看到,发送端的消息都接收到了!
注意端口号要一致,否则无法接收消息。

还有一个错误问题记录一下:

1
zookeeper is not a recognized option

这个问题是因为以前的低版本kafka消费者使用的选项,现在的版本已经废弃了,请使用下面这个:

1
--bootstrap-server

完整的就是第六步中的命令。