Windows 10环境zookeeper单机伪集群部署和配置
1,首先到zookeeper项目主页地址下载项目包,
本文基于zookeeper-3.5.5
2,本例目的是在一台Windows 10(64位)机器上,部署三个zookeeper节点,因此把第1步解压后的包:
复制3份,每1份单独成为独立的文件目录结构。比如放到:
zk/zk1/
zk/zk2/
zk/zk3/
第一个节点,zookeeper节点1,zk1:
其中,E:\zk\zk1下面的tmp,以及tmp下面的data和log是需要手动创建的目录。zookeeper下面的文件,就是apache-zookeeper-3.5.5-bin解压后所得文件。
第二个和第三个节点,zk2,zk3与zk1文件结构层次相同。
3,在E:\zk\zk1\zookeeper\conf文件夹目录下,有一个zoo_sample.cfg文件,把这个文件复制并重命名为zoo.cfg,修改里面的内容为,zk1的zoo.cfg:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=E:/zk/zk1/tmp/data
dataLogDir=E:/zk/zk1/tmp/log
server.1=localhost:2888:3888
server.2=localhost:2889:3889
server.3=localhost:2890:3890
clientPort=2181
其中一些配置项需要重点关注。
dataDir即为自己手工创建的tmp目录下的data文件夹。保存数据的目录。
dataLogDir即为自己手工创建在tmp目录下的log目录。log日志的目录。
server.A=B:C:D,A是当前服务的序号,B是该服务所在IP地址,C是节点之间信息交流的端口,D是万一服务出现异常不能提供服务后,以这个端口作为选举leader使用的端口。
clientPort是客户端连接zookeeper服务器的端口。zookeeper服务器将在这个端口监听,接受zookeeper客户端的连接请求。
把E:\zk\zk1\zookeeper\conf\zoo.cfg文件编辑好后,再把这个文件复制两份,分别放在E:\zk\zk2\zookeeper\conf\和E:\zk\zk3\zookeeper\conf下。
但是需要注意,放在zk2和zk3中的zoo.cfg文件的:
dataDir
dataLogDir
clientPort
要分别针对当前zk副本做修改,zk2下的zoo.cfg:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=E:/zk/zk2/tmp/data
dataLogDir=E:/zk/zk2/tmp/log
server.0=127.0.0.1:2888:3888
server.1=127.0.0.1:2889:3889
server.2=127.0.0.1:2890:3890
clientPort=2182
zk3下的zoo.cfg:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=E:/zk/zk3/tmp/data
dataLogDir=E:/zk/zk3/tmp/log
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890
clientPort=2183
也即要修改clinetPort端口号,因为每一个zookeeper需要监听端口接受客户端连接,故为每一个zookeeper选定一个不同的端口。同时dataDir和dataLogDir因为是三个独立的zookeeper,故需要单独设置。
4,写一个叫做 myid的文件,把该文件复制三份,每一份分别放到E:\zk\zk1\tmp\data , E:\zk\zk2\tmp\data , E:\zk\zk3\tmp\data下。myid文件里面只写一个数字,该数字对应zoo.cfg中的server.X序号。本例中,
E:\zk\zk1\tmp\data\myid中是: 1
E:\zk\zk2\tmp\data\myid中是: 2
E:\zk\zk3\tmp\data\myid中是: 3
5,以上配置完成后,即可分别进入到
E:\zk\zk1\zookeeper\bin
E:\zk\zk2\zookeeper\bin
E:\zk\zk3\zookeeper\bin
下面,一一的在Windows的命令行窗口中输入zkServer即可启动。启动每一个zookeeper。