新接触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 |
完整的就是第六步中的命令。