1.简介
- Kafka是一个分布式的流媒体平台。
- Kafka可以应用于消息系统、日志收集、用户行为追踪、流式处理等多种场景。
- Kafka具有高吞吐量、消息持久化、高可靠性、高扩展性等优点
- Kafka集群中的每台服务器叫Broker,整个集群由zookeeper进行管理
- Kafka采用发布订阅模式,每条消息都要发送到指定的Topic上
- 每个Topic可分为多个Partition,这样可以提高Kafka的并发执行能力
- Kafka术语
- Broker、Zookeeper、 Topic、Partition、Offset
- Leader Replica、Follower Replica
2.下载
下载完成后直接解压即可
3.配置
config/zookeeper.properties
设置zookeeper运行时数据的存放目录
# the directory where the snapshot is stored.
dataDir=G:/tmp/zookeeper
config/server.properties
设置日志文件的存放位置
# A comma separated list of directories under which to store log files
log.dirs=G:/tmp/kafka-logs
4.运行
执行bin/windows/
下的命令
如果是Linux系统,则执行
bin
下的命令
- 启动zookeeper
.\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties
- 启动kafaka
.\bin\windows\kafka-server-start.bat .\config\server.properties
5.基本使用
- 创建主题
在bin/windows/
目录下执行命令
$./kafka-topics.bat --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test
Created topic test.
replication-factor(副本)partitions(分区)topic(主题)
- 查看主题
$./kafka-topics.bat --list --bootstrap-server localhost:9092
test
- 生产者发送消息
$./kafka-console-producer.bat --broker-list localhost:9092 --topic test
>hello
>world
- 消费者读取消息
$./kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning
参考链接
https://www.nowcoder.com/study/live/246/5/5