zoukankan      html  css  js  c++  java
  • 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.6data1、zookeeper-3.4.6data2、zookeeper-3.4.6data3目录下创建一个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 }
  • 相关阅读:
    圣诞节快乐 | 圣诞特效来了!!
    前端特效demo | 值得收藏的6个 HTML5 Canvas 实用案例
    前端特效demo | 一起围观 10 种创意时钟
    即学即用,轻松搞定这些选择器!(下)
    架构师究竟要不要写代码?
    偷懒秘诀之变量篇
    弹幕,是怎样练成的?
    [C++]模板类和模板函数
    [C++]typedef用法
    [面试]CVTE 2019提前批 Windows应用开发一面
  • 原文地址:https://www.cnblogs.com/the-wang/p/8577873.html
Copyright © 2011-2022 走看看