一.准备工作

1.下载好zookeeper,

我用的是3.6.2,进去后就下载他们推荐就可以了

https://zookeeper.apache.org/releases.html

版本最好和kafka对应,因为不同版本的对应关系不一样

window安装kafka管理工具_window安装kafka管理工具

 

 

 

2.下载kafka

http://kafka.apache.org/downloads

下面两个任意一个都可以,如果想看有啥区别看文档介绍

window安装kafka管理工具_window安装kafka管理工具_02

 

 

 

二.部署zookeeper

1.解压文件到zookeeper3.6.2文件中

2.在zookeeper3.6.2\apache-zookeeper-3.6.2-bin 目录下增加数据存放位置和日志位置

2.1 新建文件夹 data-file

2.2 在data-file下新建文件夹 data1 log1 data2 log2 data3 log3

2.3 分别在data1 data2 data3 分别新建文件myid没有后缀,内容按照顺序依次是 1 、2、3, 这个三个数字分别是zookeeper的服务server的id 1 、2 、3

2.复制conf下的zoo_sample.cfg配置文件三份,分别命令为zoo-1.cfg zoo-2.cfg  zoo-3.cfg

配置中注意:路径的分隔符要么用 “/” 要么用 “\\”,不然启动的时候会报myid文件缺失,因为服务是自通过dataDir配置的路径下找myid文件

zoo-1.cfg配置如下

# 存放数据
dataDir=D:\\soft\\zookeeper3.6.2\\apache-zookeeper-3.6.2-bin\\data-file\\data1

#存放日志
dataLogDir=D:\\soft\\zookeeper3.6.2\\apache-zookeeper-3.6.2-bin\\data-file\\log1

# the port at which the clients will connect
# 监听端口
clientPort=2181

# 配置集群服务,这里每个文件都一样
server.1=192.168.31.53:2881:3881
server.2=192.168.31.53:2882:3882
server.3=192.168.31.53:2883:3883

zoo-2.cfg配置如下

# 存放数据
dataDir=D:\\soft\\zookeeper3.6.2\\apache-zookeeper-3.6.2-bin\\data-file\\data2

#存放日志
dataLogDir=D:\\soft\\zookeeper3.6.2\\apache-zookeeper-3.6.2-bin\\data-file\\log2

# the port at which the clients will connect
# 监听端口
clientPort=2182

# 配置集群服务,这里每个文件都一样
server.1=192.168.31.53:2881:3881
server.2=192.168.31.53:2882:3882
server.3=192.168.31.53:2883:3883

zoo-3.cfg配置如下

# 存放数据
dataDir=D:\\soft\\zookeeper3.6.2\\apache-zookeeper-3.6.2-bin\\data-file\\data3

#存放日志
dataLogDir=D:\\soft\\zookeeper3.6.2\\apache-zookeeper-3.6.2-bin\\data-file\\log3

# the port at which the clients will connect
# 监听端口
clientPort=2183

# 配置集群服务,这里每个文件都一样
server.1=192.168.31.53:2881:3881
server.2=192.168.31.53:2882:3882
server.3=192.168.31.53:2883:3883

3.启动文件的配置:复制zkServer.cmd文件三份

zkServer1.cmd 增加配置文件设置

set ZOOCFG=D:\\soft\\zookeeper3.6.2\\apache-zookeeper-3.6.2-bin\\conf\\zoo-1.cfg

 

注意这个一定要放在ZOOMAIN下面,上面是主函数,放上面就无法加载到了

window安装kafka管理工具_window安装kafka管理工具_03

 

 

 

zkServer2.cmd

set ZOOCFG=D:\\soft\\zookeeper3.6.2\\apache-zookeeper-3.6.2-bin\\conf\\zoo-2.cfg

 

zkServer3.cmd

set ZOOCFG=D:\\soft\\zookeeper3.6.2\\apache-zookeeper-3.6.2-bin\\conf\\zoo-3.cfg

4.启动zookeeper,直接点击zkServer1.cmd zkServer2.cmd zkServer3.cmd 这几个文件就可以了

window安装kafka管理工具_window安装kafka管理工具_04

 

 

 

如果看到端口被绑定了 或者 集群某个服务Cannot open channel to 3 at election address /192.168.31.53:3883 这样的错误不用管,把其他几个启动好就可以了

 

三.部署kafka

1.讲文件解压到 kafka-cluster文件夹中

2.复制kafka加压文件两份,分别重新命名为kafka-1,kafka-2,kafka-3

3.分别配置config下的server.properties文件

配置如下

#唯一标识
broker.id=0
#监听端口
port=9092
host.name=192.168.31.53
#消息最大大小
message.max.bytes=50485760
#配置副本数量
default.replication.factor=2
#获取的最大大小
replica.fetch.max.bytes=50485760
#队列中消息持久化存放的位置,可以多个目录,用逗号分开
log.dirs=/tmp/kafka-logs
#默认的分区数
num.partitions=2
#对应着刚刚配置的zookeeper的三个ip与端口地址
zookeeper.connect=192.168.31.53:2181,192.168.31.53:2182,192.168.31.53:2183

 

kafka-1,kafka-2,kafka-3三个配置不同的地方是

broker.id=0

broker.id=1

broker.id=2

 

端口

port=9092

port=9093

port=9094

 

4.启动kafka服务

4.1开启三个dos窗口

4.2 cd 到kafka的安装目录

4.3 命令启动:kafka的命令启动需要指定配置文件,三个的启动命令都是这个

.\bin\windows\kafka-server-start.bat .\config\server.properties

四.测试集群是否可用

5.1 创建一个topic: 标红的部分一定不能省略,后面的ip如果想用localhost或者127.0.0.1请自行设置下,不然不识别

.\bin\windows\kafka-topics.bat --create --zookeeper 192.168.31.53:2181 --replication-factor 1 --partitions 1 --topic test

 

5.2 查看是否创建成功

.\bin\windows\kafka-topics.bat --list --zookeeper 192.168.31.53:2181

5.3 发送消息:新开窗口执行命令

.\bin\windows\kafka-console-producer.bat --broker-list 192.168.31.53:9092 --topic test

5.4 接收消息

 

下面这个命令高版本不支持会报错

.\bin\windows\kafka-console-consumer.bat --zookeeper localhost:2181 --topic test --from-beginning

报错如下:第二个红框提示需要连接某台服务而且是必须的参数

window安装kafka管理工具_kafka_05

 

 

按照提示再次执行命令: 

.\bin\windows\kafka-console-consumer.bat --bootstrap-server 192.168.31.53:9094 --topic test

控制台显示:只要生产者发出消息,这里就会自动接收到

window安装kafka管理工具_zookeeper_06

 

 注意:执行消费者命令时,host不要用localhost否则会不识别,报错如下

window安装kafka管理工具_zookeeper_07