参考:
集群配置:
1、配置文件conf/zoo.cfg,除了单机模式的配置之外,还需要新加server.x信息,如下所示。
tickTime=2000dataDir=D:\09tmp\zookeeper\dataclientPort=2181initLimit=5syncLimit=2server.1=zoo1:2888:3888server.2=zoo2:2888:3888server.3=zoo3:2888:3888
zoox表示的是zookeeper服务器的IP地址,第一个端口2888:在zookeeper服务器之间及和leader连接时使用,第二个端口号:3888是在进行leader选举时使用。
2、同时需要在配置项dataDir所指示目录下创建文件myid文件,其内容为该1中server.x中的x,表示该zookeeper服务器的编号。
3、为了降低更新的延迟,需要为事物日志的存放专门指定存储路径,该配置项为:dataLogDir
# The number of milliseconds of each ticktickTime=2000# The number of ticks that the initial # synchronization phase can takeinitLimit=10# The number of ticks that can pass between # sending a request and getting an acknowledgementsyncLimit=5# the directory where the snapshot is stored.# do not use /tmp for storage, /tmp here is just # example sakes.dataDir=D:\\09tmp\\zookeeper\\datadataLogDir=D:\\09tmp\\zookeeper\\log
伪集群配置:
1、由于所有zookeeper服务器都在一台物理机器上,因此zoo1.cfg中配置项server.x的端口信息,不能相同。且配置项dataDir和dataLogDir也需要为伪服务器单独指定。配置项clientPort在三个服务器中也要配置不同的值,示例如下:
tickTime=2000dataDir=D:\09tmp\zookeeper\data\\1dataLogDir=D:\09tmp\zookeeper\log\\1clientPort=2181initLimit=5syncLimit=2server.1=localhost:2888:3888server.2=localhost:2889:3889server.3=localhost:2890:3890
2、同时需要准备zoo2.cfg和zoo3.cfg配置文件,参考1进行配置
3、在D:\09tmp\zookeeper\data\\1、D:\09tmp\zookeeper\data\\2和D:\09tmp\zookeeper\data\\3中分别创建文件myid,里面填写对应的zookeeper服务器编号。
4、创建三个文件:zkEnv1.cmd、zkEnv2.cmd和zkEnv3.cmd分别用来指定使用不同的zoo.cfg。
5、创建三个文件:zkServer1.cmd、zkServer2.cmd和zkServer3.cmd分别用来指定不同的文件zkEnv.cmd。