Zookeeper
Zookeeper是一个基于观察者模式的设计模式,它可以存储大家都关心的数据,然后接受观察者的注册,一旦数据发生变化,就会通知到各个观察者们,使其做出相对应的反应。相当于一个文件系统+通知机制。
Kafka
Kafka是一种消息队列,主要用来处理大量数据状态下的消息队列,一般用来做日志的处理。既然是消息队列,那么Kafka
也就拥有消息队列的相应的特性了。
(一)安装部署
1、Zookeeper
安装包下载:http://zookeeper.apache.org/releases.html#download
安装步骤:
- 得到安装包后解压到本地磁盘,我选择的是D盘
- 进入Zookeeper设置目录,
D:\zookeeper-3.4.6\conf
- 将“
zoo_sample.cfg
”重命名为“zoo.cfg
”,并打开文档 - 找到并编辑
dataDir=D:/zookeeper-3.4.6/tmp
(可以自定义文件夹) - 在
zoo.cfg
文件中可以修改默认的Zookeeper端口(默认端口2181,可以不用修改)
-
设置环境变量:
-
在系统变量中添加
ZOOKEEPER_HOME =D:\zookeeper-3.4.6
-
编辑path系统变量,添加为路径
%ZOOKEEPER_HOME%\bin
;
-
2、Kafka
安装包下载:http://kafka.apache.org/downloads.html
安装步骤:
-
得到安装包后解压到本地磁盘,我选择的还是D盘
-
编辑文件Kafka配置文件,
D:\kafka_2.11-2.2.0\config
-
找到并编辑log.dirs=D:/kafka_2.11-2.2.0/kafka-logs, (自定义文件夹)
-
找到并编辑
dataDir=D:/zookeeper-3.4.6/tmp
(可以自定义文件夹) -
找到并编辑
zookeeper.connect=localhost:2181
。表示本地运行(默认的可以不改),Kafka会按照默认,在9092端口上运行,并连接zookeeper的默认端口:2181。
(二)运行与测验
1、Zookeeper
打开新的cmd
命令窗口,输入zkServer
,运行Zookeeper
,成功如下所示
2、Kafka
1)启动服务器
在kafka文件目录上选中目录输入cmd进入新的命令窗口
输入命令启动Kafka:.\bin\windows\kafka-server-start.bat .\config\server.properties
2)创建主题
进入kafka文件夹里面bin/windows/目录并选中目录输入cmd进入新的命令窗口
输入命令创建主题:kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic haha
3)创建生产者
同上,进入kafka文件夹里面bin/windows/目录并选中目录输入cmd进入新的命令窗口
输入命令:kafka-console-producer.bat --broker-list localhost:9092 --topic haha
4)创建消费者
同上,进入kafka文件夹里面bin/windows/目录并选中目录输入cmd进入新的命令窗口
输入命令: kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic haha --from-beginning
5)生产者消费者测试
生产者发送消息,消费者接收消息,如果实现不了下列效果,请重新梳理下安装步骤。
(二)代码结构
首先要保证本地的zookeeper和kafka处于运行状态
1、依赖导入
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
</dependency>
2、配置环境