单机部署(可以参考文章:windows环境下安装zookeeper(单机模式))完成之后,
伪集群模式部署如下:
1、如图所示,在conf下新建三个文件分别是zoo1.cfg、zoo2.cfg、zoo3.cfg
这三个文件的内容和单机模式中的zoo.cfg内容基本相同,主要的差别在于下面几个参数,伪集群,因为是在本地一台机器上模仿多个节点,所以需要三份配置。
zoo1.cfg
# example sakes.
dataDir=D:\\soft\\zookeeper\\apache-zookeeper-3.6.1-bin\\config\\data1
dataLogDir=D:\\soft\\zookeeper\\apache-zookeeper-3.6.1-bin\\config\\log1
server.1=localhost:2287:3387
server.2=localhost:2288:3388
server.3=localhost:2289:3389
# the port at which the clients will connect
clientPort=2181
zoo2.cfg
# example sakes.
dataDir=D:\\soft\\zookeeper\\apache-zookeeper-3.6.1-bin\\config\\data2
dataLogDir=D:\\soft\\zookeeper\\apache-zookeeper-3.6.1-bin\\config\\log2
server.1=localhost:2287:3387
server.2=localhost:2288:3388
server.3=localhost:2289:3389
# the port at which the clients will connect
clientPort=2182
zoo3.cfg
# example sakes.
dataDir=D:\\soft\\zookeeper\\apache-zookeeper-3.6.1-bin\\config\\data3
dataLogDir=D:\\soft\\zookeeper\\apache-zookeeper-3.6.1-bin\\config\\log3
server.1=localhost:2287:3387
server.2=localhost:2288:3388
server.3=localhost:2289:3389
# the port at which the clients will connect
clientPort=2183
2、根据三个配置文件中的配置,新建目录:
3、新建myid文件:
在data1、data2、data3目录分别内新建一个文件,名称为myid(注意不要加后缀.txt,因为windows系统会默认添加txt后缀),三个文件的内容分别是:1、2、3
如图:
4、新增三个服务启动脚本
三个文件分别新增一行,也就是zkServer-1cmd文件中新增一行set ZOOCFG=D:\soft\zookeeper\apache-zookeeper-3.6.1-bin\conf\zoo3.cfg(根据自己实际路径配置),以此类推,其他两个文件也这样新增,只不过配置文件分别为zoo2.cfg和zoo3.cfg。
setlocal
call "%~dp0zkEnv.cmd"
set ZOOMAIN=org.apache.zookeeper.server.quorum.QuorumPeerMain
set ZOO_LOG_FILE=zookeeper-%USERNAME%-server-%COMPUTERNAME%.log
set ZOOCFG=D:\soft\zookeeper\apache-zookeeper-3.6.1-bin\conf\zoo1.cfg
echo on
call %JAVA% "-Dzookeeper.log.dir=%ZOO_LOG_DIR%" "-Dzookeeper.root.logger=%ZOO_LOG4J_PROP%" "-Dzookeeper.log.file=%ZOO_LOG_FILE%" "-XX:+HeapDumpOnOutOfMemoryError" "-XX:OnOutOfMemoryError=cmd /c taskkill /pid %%%%p /t /f" -cp "%CLASSPATH%" %ZOOMAIN% "%ZOOCFG%" %*
endlocal
5、启动服务,和单机模式一样,以下两种启动方式都可以
(1) 直接双击目录中的 zkServer-1cmd,zkServer-2.cmd,zkServer-3.cmd启动服务。
(2)打开三个cmd窗口,分别进入到指定目录,分别输入:zkServer-1cmd,zkServer-2.cmd,zkServer-3.cmd,启动服务
6、客户端查看启动结果,cmd下进入指定目录:zkCli.cmd -server 127.0.0.1:2181,即可访问第一个节点,其他两个服务的访问方式以此类推(客户端端口则分别是2182和2183)。
如图:
到此,伪集群的zookeeper部署就结束了。