您的位置:首页 > 其它

windows环境下搭建zookeeper伪集群

2017-07-04 14:25 477 查看


1.下载zookeeper

2.解压指定目录即可





3.在 \zookeeper-3.4.6\conf\ 新建三个配置文件



zoo.cfg:

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=D:\\zookeeper\\data
dataLogDir=D:\\zookeeper\\log
# the port at which the clients will connect
clientPort=2180
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60


zoo1.cfg:

[html] view
plain copy

tickTime=2000  

initLimit=10  

syncLimit=5  

dataDir=E:\\tmp\\zookeeper\\data\\1  

dataLogDir=E:\\tmp\\zookeeper\\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:

[html] view
plain copy

tickTime=2000  

initLimit=10  

syncLimit=5  

dataDir=E:\\tmp\\zookeeper\\data\\2  

dataLogDir=E:\\tmp\\zookeeper\\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:

[html] view
plain copy

tickTime=2000  

initLimit=10  

syncLimit=5  

dataDir=E:\\tmp\\zookeeper\\data\\3  

dataLogDir=E:\\tmp\\zookeeper\\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  

4.在 \zookeeper-3.4.6\bin\ 新建三个server

拷贝zkServer.cmd三份,分别命名zkServer-1.cmd,zkServer-2.cmd,zkServer-3.cmd;

打开这三个.cmd,在set ZOOMAIN=org.apache.zookeeper.server.quorum.QuorumPeerMain后面

添加一行,对应相应的配置文件:

set ZOOCFG=..\conf\zoo.cfg(zkServer.cmd添加)

set ZOOCFG=..\conf\zoo1.cfg(zkServer-1.cmd添加)

set ZOOCFG=..\conf\zoo2.cfg(zkServer-2.cmd添加)

set ZOOCFG=..\conf\zoo3.cfg(zkServer-3.cmd添加)



5.添加data和log文件夹



E:\tmp\zookeeper\ 下新建data文件夹,在data下创建1 2 3文件夹



E:\tmp\zookeeper\ 下新建log文件夹,在log下创建1 2 3文件夹



6.创建myid

分别在data\1,data\2,data\3下创建文件 myid(去掉后缀名),并分别添加内容 1、2、3





7.启动Server

控制台进入bin目录,分别输入:zkServer-x.cmd启动即可。

启动三个server文件后,用jps查看,会看到三个启动的Java主进程。



也可输入:netstat -ano|findstr "2181"  查看端口是否监听

注:启动过程中zkServerXXX.cmd可能会报错:

[html] view
plain copy

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伪集群,并且启动成功。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: