一、kafka定义
Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以收集并处理用户在网站中的所有动作流数据以及物联网设备的采样信息。
二、kafka特点
- 高吞吐量、低延迟:kafka每秒可以处理几十万条消息,它的延迟最低只有几毫秒,每个topic可以分多个partition, consumer group 对partition进行consume操作。
- 可扩展性:kafka集群支持热扩展
- 持久性、可靠性:消息被持久化到本地磁盘,并且支持数据备份防止数据丢失
- 容错性:允许集群中节点失败(若副本数量为n,则允许n-1个节点失败)
- 高并发:支持数千个客户端同时读写
三、kafka安装
如果没有安装zookeeper请看博客
https://blog.youkuaiyun.com/qq_39381529/article/details/106473886
1、准备好一台linux服务器然
2、准备好JDK1.8和kafka安装包,如果没有kafka安装包可以到官网下载
http://kafka.apache.org/downloads.html
3、解压下载下来的kafka安装包,我使用的是2.11的版本
解压命令:tar -xzvf kafka_2.11-2.2.0.tgz
4、进入config目录
5、配置server.properties
5-1、配置当前服务的主机名称、log日志、zookeeper的地址
6、启动zookeeper和kafka
zookeeper启动
kafka启动(命令: ./bin/kafka-server-start.sh -daemon config/server.properties)
关闭kafka命令:./bin/kafka-server-stop.sh
7、使用命令创建topic
./bin/kafka-topics.sh --bootstrap-server node1:9092 --create --topic topic01 --partitions 3 --replication-factor 1
8、创建消费者进行消费
./bin/kafka-console-consumer.sh --bootstrap-server node1:9092 --topic topic01 --group group1
发送消息
./bin/kafka-console-producer.sh --broker-list node1:9092 --topic topic01
9、查看两边窗口验证是否成功
如果出现生产者生产的消息能被消费者消费说明配置成功
生产者窗口
消费者窗口
备注:
启动生产者topic
./kafka-console-producer.sh --broker-list 172.31.234.167:9092 --topic zafk-yryd
启动消费者
./kafka-console-consumer.sh --bootstrap-server 172.31.234.167:9092 --topic zafk-yryd --from-beginning