转载:http://www.cnblogs.com/tenghoo/p/windows_zookeeper_pseudo_cluster.html
下载
http://www.apache.org/dyn/closer.cgi/zookeeper/
解压
D:\Java\soft\zookeeper-3.4.6
伪集群
1、在 \zookeeper-3.4.6\conf\ 新建三个配置文件
zoo1.cfg
tickTime=2000 initLimit=10 syncLimit=5 dataDir=D:\\Java\\soft\\zookeeper-3.4.6\\data\\1 dataLogDir=D:\\Java\\soft\\zookeeper-3.4.6\\log\\1 clientPort=2181 server.1=127.0.0.1:2887:3887 server.2=127.0.0.1:2888:3888 server.3=127.0.0.1:2889:3889zoo2.cfg
tickTime=2000 initLimit=10 syncLimit=5 dataDir=D:\\Java\\soft\\zookeeper-3.4.6\\data\\2 dataLogDir=D:\\Java\\soft\\zookeeper-3.4.6\\log\\2 clientPort=2182 server.1=127.0.0.1:2887:3887 server.2=127.0.0.1:2888:3888 server.3=127.0.0.1:2889:3889zoo3.cfg
tickTime=2000 initLimit=10 syncLimit=5 dataDir=D:\\Java\\soft\\zookeeper-3.4.6\\data\\3 dataLogDir=D:\\Java\\soft\\zookeeper-3.4.6\\log\\3 clientPort=2183 server.1=127.0.0.1:2887:3887 server.2=127.0.0.1:2888:3888 server.3=127.0.0.1:2889:3889三个cfg文件的区别
clientPost、dataDir、dataLogDir不同
======
server.1=127.0.0.1:2887:3887
补充:
server.num=ip/domain:Port1:Port2 其中num:表示数字表示第几号服务器;ip/domain :是服务器域名或者ip地址。Port1:表示这个服务器和集群中的Leader服务器交换信息的端口;Port2:表示万一集群中的Leader服务器挂了,需要一个端口重新进行选举,选出一个新的Leader,这个端口就是用来执行选举时服务器相互通信的端口。
======
2、在 \zookeeper-3.4.6\bin\ 新建三个server
zkServer1.cmd
setlocal call "%~dp0zkEnv.cmd" set ZOOMAIN=org.apache.zookeeper.server.quorum.QuorumPeerMain set ZOOCFG=..\conf\zoo1.cfg echo on java "-Dzookeeper.log.dir=%ZOO_LOG_DIR%" "-Dzookeeper.root.logger=%ZOO_LOG4J_PROP%" -cp "%CLASSPATH%" %ZOOMAIN% "%ZOOCFG%" %* endlocalzkServer2.cmd
setlocal call "%~dp0zkEnv.cmd" set ZOOMAIN=org.apache.zookeeper.server.quorum.QuorumPeerMain set ZOOCFG=..\conf\zoo2.cfg echo on java "-Dzookeeper.log.dir=%ZOO_LOG_DIR%" "-Dzookeeper.root.logger=%ZOO_LOG4J_PROP%" -cp "%CLASSPATH%" %ZOOMAIN% "%ZOOCFG%" %* endlocalzkServer3.cmd
setlocal call "%~dp0zkEnv.cmd" set ZOOMAIN=org.apache.zookeeper.server.quorum.QuorumPeerMain set ZOOCFG=..\conf\zoo3.cfg echo on java "-Dzookeeper.log.dir=%ZOO_LOG_DIR%" "-Dzookeeper.root.logger=%ZOO_LOG4J_PROP%" -cp "%CLASSPATH%" %ZOOMAIN% "%ZOOCFG%" %* endlocal三个server文件的区别
添加set ZOOCFG,三个cmd文件对应各自的cfg文件。
3、添加data和log文件夹:ps:镜像文件目录和log目录都要事先建好,不然启动会失败
D:\Java\soft\zookeeper-3.4.6 下新建data文件夹
在data下创建1 2 3文件夹
D:\Java\soft\zookeeper-3.4.6 下新建log文件夹
在log下创建1 2 3文件夹
4、创建myid
分别在data\1,data\2,data\3下创建文件 myid,去掉后缀名,并分别添加内容 1、2、3
5、启动Server
启动三个server文件后,用jps查看,会看到三个启动的java主进程。