最近在看zookeeper的源码,因为我家里用的是mac,公司用的windows;那么在windows下怎么搭建zookeeper伪集群呢?
从网上找了一个例子,大概步骤如下:
下载
http://www.apache.org/dyn/closer.cgi/zookeeper/
解压
D:\Java\soft\zookeeper-3.4.6
伪集群
1、在\zookeeper-3.4.6\conf\新建三个配置文件
(zookeeper默认会有一个zoo_example.cfg的文件,复制这个文件然后修改内容即可)
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:3889
zoo2.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:3889
zoo3.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不同
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%" %* endlocal
zkServer2.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%" %* endlocal
zkServer3.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文件夹
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主进程。