Windows搭建Zookeeper伪集群
Zookeeper伪集群的搭建
从官网下载Zookeeper服务,下载地址:http://zookeeper.apache.org/releases.html
下载下来后,先进行解压,这里我们搭建3个Zookeeper服务作为一个集群,所以复制3个解压下来的服务如下所示:
进入第一个服务的conf目录下,复制zoo_sample.cfg
文件重命名为zoo.cfg
如下所示:
编辑zoo.cfg
配置Zookeeper服务,添加如下配置信息:
# 服务一
clientPort=2181
# 这里注意Windows下路径不要配置成"\"
dataDir=D:/Development/ZooKeeper/cluster/data/data_1
dataLogDir=D:/Development/ZooKeeper/cluster/logs/log_1
server.1=localhost:2287:3387
server.2=localhost:2288:3388
server.3=localhost:2289:3389
上面dataDir和dataLogDir可以自己另外指定其他路径,同理相继配置Zookeeper第二个和第三个服务。对应的配置和第一个服务类似:
# 服务二
clientPort=2182
# 这里注意Windows下路径不要配置成"\"
dataDir=D:/Development/ZooKeeper/cluster/data/data_2
dataLogDir=D:/Development/ZooKeeper/cluster/logs/log_2
server.1=localhost:2287:3387
server.2=localhost:2288:3388
server.3=localhost:2289:3389
# 服务三
clientPort=2183
# 这里注意Windows下路径不要配置成"\"
dataDir=D:/Development/ZooKeeper/cluster/data/data_3
dataLogDir=D:/Development/ZooKeeper/cluster/logs/log_3
server.1=localhost:2287:3387
server.2=localhost:2288:3388
server.3=localhost:2289:3389
注意三个服务对应的clientPort配置是不一样的
之后我们在上面配置的dataDir目录下各建立myid文件,并在其中填写相应服务的数字,这里我分别写了1, 2, 3(确保每个服务不一样即可)
最后只需要启动3个服务的bin目录下的zkServer.cmd即可
用ZooInspector连接Zookeeper服务
ZooInspector下载地址:https://issues.apache.org/jira/secure/attachment/12436620/ZooInspector.zip
下载好后解压直接运行build目录下的zookeeper-dev-ZooInspector.jar
,程序界面如下:
分别尝试连接2181,2182,2183端口
出现如下页面说明连接成功
编写启动脚本一键启动Zookeeper集群
本地方便开发,编写了一个简单的启动脚本方便一键启动Zookeeper伪集群,具体启动脚本如下所示:
@echo off
title 启动Zookeeper集群
start /d"D:\Development\ZooKeeper\cluster\apache-zookeeper-3.7.0-1\bin" zkServer.cmd
@echo 启动Zookeeper_1
start /d"D:\Development\ZooKeeper\cluster\apache-zookeeper-3.7.0-2\bin" zkServer.cmd
@echo 启动Zookeeper_2
start /d"D:\Development\ZooKeeper\cluster\apache-zookeeper-3.7.0-3\bin" zkServer.cmd
@echo 启动Zookeeper_3
ping -n 1 127.0.0.1>nul
@echo 启动完毕关闭窗口
ping -n 3 127.0.0.1>nul
复制上面的脚本内容,将上面的地址换成你本地的地址,另存为zookeeper_cluster_start.bat
,以后运行只要双击该脚本就会启动zookeeper集群。