Windows进行Zookeeper伪集群模式安装

伪集群模式安装

在一台PC上启动多个Zookeeper实例,同一个不同的端口,来实现微集群。

简单原理:

选举算法,有兴趣的同学可以看看,后续篇章中会详述。

1、修改加载的配置文件。在D:\zookeeper-3.4.6\conf 下复制zoo.cfg重命名为zoo1.cfg ,zoo2.cfg,zoo3.cfg

修改以下如下:

dataDir=D:\\data\\zookeeper\\1
# log config
#dataLogDir=D:\\log\\zookeeper
# the port at which the clients will connect
clientPort=2181

#添加集群配置

server.1=localhost:2887:3887
server.2=localhost:2888:3888
server.3=localhost:2889:3889

zoo1.cfg 文件修改dataDir目录为D:\\data\\zookeeper\\1,修改clientPort为2181 ,同时添加

server.1=localhost:2887:3887

server.2=localhost:2888:3888

server.3=localhost:2889:3889

server.num=ip/domain:port1:port2

其中num:表示数字表示第几号服务器;ip/domain :是服务器域名或者ip地址。

port1:表示这个服务器和集群中的Leader服务器交换信息的端口;

port2:表示万一集群中的Leader服务器挂了,需要一个端口重新进行选举,选出一个新的Leader,这个端口就是用来执行选举时服务器相互通信的端口。

由于我们是伪集群,所以ip或者域名是一样的,所以要分配不同的端口号。

zoo2.cfg也是如此修改,copy zoo1.cfg 只要修改上述红色标记的即可,\\2 clientPort=2182 ,以此类推,zoo2.cfg修改clientPort为2183 。

2、修改命令,加载不同的配置。复制zkServer.cmd并且重命名为,zkServer-1.cmd,zkServer-2.cmd,zkServer-3.cmd 分别修改这三个cmd如下所示。

setlocal
call "%~dp0zkEnv.cmd"
 
set ZOOMAIN=org.apache.zookeeper.server.quorum.QuorumPeerMain
set ZOOCFG=D:\zookeeper-3.4.6\conf\zoo1.cfg
echo on
java "-Dzookeeper.log.dir=%ZOO_LOG_DIR%" "-Dzookeeper.root.logger=%ZOO_LOG4J_PROP%" -cp "%CLASSPATH%" %ZOOMAIN% "%ZOOCFG%" %*
 
endlocal

不同的zkServer- 1 2 3  .cmd分别添加一行set ZOOCFG=..\zoo1.cfg zoo2.cfg zoo3.cfg
3、分别启动zkServer-1 .cmd、zkServer-2.cmd zkServer-3.cmd

启动可能会报如下错误

2015-10-09 11:20:08,162 [myid:1] - WARN  [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:218
1:QuorumCnxManager@382] - Cannot open channel to 3 at election address localhost
/192.168.132.16:3889
java.net.ConnectException: Connection refused: connect
        at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
        at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketI
mpl.java:85)

这是因为,zookeeper集群采用的是选举算法,当集群中的其他节点还没有启动的时候,选举算法就会出现异常,因为至少三台能选举出一个leader,2n+1台机器,可以选举n个leader,当全部启动起来后,就不会报异常,所以上述的报错是可以忽略的,尽管启动这三个节点即可。


这样在一台机器上搭建了zookeeper伪集群,并且启动成功。接下来是zookeeper的可视化界面zkui的使用。

猜你喜欢

转载自blog.csdn.net/sheinenggaosuwo/article/details/86582354