zookeeper安装

 

一、单机配置 

1、下载zookeeper安装包 ,解压。

2、把zookeeper-3.4.6/conf/zoo_sample.cfg修改为zoo.cfg zoo.cfg

内容: 

tickTime=2000  //Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔

initLimit=5  //zookeeper集群中的包含多台server, 其中一台为leader, 集群中其余的server为follower. initLimit参数配置初始化连接时, follower和leader之间的最长心跳时间. 此时该参数设置为5, 说明时间限制为5倍tickTime, 即5*2000=10000ms=10s. 

syncLimit=2   //该参数配置leader和follower之间发送消息, 请求和应答的最大时间长度. 此时该参数设置为2, 说明时间限制为2倍tickTime, 即4000ms. 

dataDir=D:\\tools\\zookeeper-3.4.6\\data     //Zookeeper 保存数据的目录 

clientPort=2181   //客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求 
3、启动Zookeeper 执行bin/zkServer.cmd 

二、伪集群配置 

1、在zookeeper-3.4.6/conf/目录下创建3个配置文件:zoo1.cfg、zoo2.cfg、zoo3.cfg

zoo1.cfg内容:

tickTime=2000  
initLimit=5
syncLimit=2 dataDir=D:\\tools\\zookeeper-3.4.6\\data\\1 clientPort=2181 server.1=localhost:2887:3887
server.2=localhost:2888:3888
server.3=localhost:2889:3889

zoo2.cfg内容:

tickTime=2000  
initLimit=5
syncLimit=2 dataDir=D:\\tools\\zookeeper-3.4.6\\data\\2
clientPort=2182 server.1=localhost:2887:3887
server.2=localhost:2888:3888
server.3=localhost:2889:3889

zoo3.cfg内容: 

tickTime=2000  
initLimit=5
syncLimit=2 dataDir=D:\\tools\\zookeeper-3.4.6\\data\\3
clientPort=2183
server.1=localhost:2887:3887
server.2=localhost:2888:3888
server.3=localhost:2889:3889
 

注:server.X=A:B:C 其中X是一个数字, 表示这是第几号server. A是该server所在的IP地址. B配置该server和集群中的leader交换消息所使用的端口. C配置选举leader时所使用的端口. 由于配置的是伪集群模式, 所以各个server的B, C参数必须不同

2、分别在zookeeper-3.4.6\data\1、zookeeper-3.4.6\data\2、zookeeper-3.4.6\data\3目录下创建一个myid的文件, myid文件的内容分别为1、2、3

3、在zookeeper-3.4.6/bin/目录下创建3个配置文件:zkEvn1.cmd、zkEvn2.cmd、zkEvn3.cmd、分别修改set ZOOCFG=%ZOOCFGDIR%\zoo.cfg 为:

set ZOOCFG=%ZOOCFGDIR%\zoo1.cfg

set ZOOCFG=%ZOOCFGDIR%\zoo2.cfg

set ZOOCFG=%ZOOCFGDIR%\zoo3.cfg

4、在zookeeper-3.4.6/bin/目录下创建3个配置文件:zkServer1.cmd、zkServer2.cmd、zkServer3.cmd 分别修改call “%~dp0zkEnv.cmd” 为:

call “%~dp0zkEnv1.cmd“

call “%~dp0zkEnv2.cmd“

call “%~dp0zkEnv3.cmd“

5、分别执行zkServer1.cmd、zkServer2.cmd、zkServer3.cmd就启动了zookeeper服务器

 

6、测试连接:

  

 1 @Test
 2 public void testConn() throws Exception{
 3         final CountDownLatch cdl = new CountDownLatch(1);
 4         ZooKeeper zk = new ZooKeeper("localhost:2183", 3000, new 
 5 //        ZooKeeper zk = new ZooKeeper("localhost:2181,localhost:2182,localhost:2183", 3000, new 
 6 Watcher(){
 7          
 8             public void process(WatchedEvent arg0) {
 9     
10                 System.out.println("成功连接zk服务器");
11                 
12                     cdl.countDown();
13             }            
14         } );
15         
16 
17             cdl.await();    
18 }

 

 

posted @ 2018-03-16 07:32  千彧  阅读(148)  评论(0编辑  收藏  举报