kafka服务搭建
在linux上搭建kafka
- 下载zookeeper到服务器
- 解压缩
- 修改配置文件
- 启动zookeeper
- 测试
安装
#官网地址
https://www.apache.org/dyn/closer.cgi?path=/kafka/3.1.0/kafka_2.12-3.1.0.tgz
#用wget命令下载
wget https://dlcdn.apache.org/kafka/3.1.0/kafka_2.13-3.1.0.tgz
#解压缩
tar -zvcf kafka_2.13-3.1.0.tgz
#进入解压文件夹
cd kafka_2.13-3.1.0
#文件夹结构如下
ls
bin config libs LICENSE licenses logs NOTICE site-docs
#修改配置文件
vim ./config/server.proprities
#主要修改一下内容(根据实际情况修改)
listeners=PLAINTEXT://127.0.0.1:9092
log.dirs=/tmp/kafka-logs #消息日志存放位置
zookeeper.connect=localhost:2181 #kafka依赖zookeeper 配置zookeeper的服务地址
#修改完毕启动kafka自带的zookeeper
sudo ./bin/zookeeper-server-start.sh ../config/zookeeper.properties
#启动kafka
sudo ./bin/kafka-topics.sh --create --bootstrap-server 127.0.0.1:9092 --replication-factor 1 --partitions 1 --topic test
#查看是否启动成功
ps -aux | grep -iE "kafka"
#也可以进入到zookeeper里看
sudo ./bin/zookeeper-shell.sh 127.0.0.1:2181
ls /brokers/ids/
[0]
测试
#利用kafka-console-producer.sh 向topic发送消息
sudo ./kafka-console-producer.sh --bootstrap-server 127.0.0.1:9092 --topic test
> test
> hello
> sallai
#一行代表一个消息
#利用kafka-console-consume.sh 消费topic消息
#只消费启动之后的消息,启动之前的消息跳过
sudo ./kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9092 --topic test
#从头消费消息
sudo ./kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9092 --from-begining --topic test
test
hello
sallai
单播消息
消费者订阅同一个topic,但如果在听一个消费组内,只能有一个消费者消费该topic消息
#消费test topic 并加入testGroup组
sudo ./bin/kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9092 --consumer-property group-id=testGroup --topic test
#上个命令执行两次,启动两个消费者 像topic发送消息观察接收情况,两个消费者只有一个可以消费到消息
#加入到不同的组会都能消费到消息
多播消息
多播消息就是上述的消费组将不同的消费者加入到不同的消费组就可以实现多播消费消息