zoukankan      html  css  js  c++  java
  • Zookeeper 安装和配置

    http://coolxing.iteye.com/blog/1871009


    [转载请注明作者和原文链接,  如有谬误, 欢迎在评论中指正. ] 

    Zookeeper的安装和配置十分简单, 既可以配置成单机模式, 也可以配置成集群模式. 下面将分别进行介绍.

    单机模式

    点击这里下载zookeeper的安装包之后, 解压到合适目录. 进入zookeeper目录下的conf子目录, 创建zoo.cfg:

    Bash代码  收藏代码
    1. tickTime=2000    
    2. dataDir=/Users/apple/zookeeper/data    
    3. dataLogDir=/Users/apple/zookeeper/logs    
    4. clientPort=4180   

    参数说明:

    • tickTime: zookeeper中使用的基本时间单位, 毫秒值.
    • dataDir: 数据目录. 可以是任意目录.
    • dataLogDir: log目录, 同样可以是任意目录. 如果没有设置该参数, 将使用和dataDir相同的设置.
    • clientPort: 监听client连接的端口号.

    至此, zookeeper的单机模式已经配置好了. 启动server只需运行脚本:

    Bash代码  收藏代码
    1. bin/zkServer.sh start  
     Server启动之后, 就可以启动client连接server了, 执行脚本:
    Bash代码  收藏代码
    1. bin/zkCli.sh -server localhost:4180  
     

    伪集群模式

    所谓伪集群, 是指在单台机器中启动多个zookeeper进程, 并组成一个集群. 以启动3个zookeeper进程为例.

    将zookeeper的目录拷贝2份:

    Bash代码  收藏代码
    1. |--zookeeper0  
    2. |--zookeeper1  
    3. |--zookeeper2  

     更改zookeeper0/conf/zoo.cfg文件为:

    Bash代码  收藏代码
    1. tickTime=2000    
    2. initLimit=5    
    3. syncLimit=2    
    4. dataDir=/Users/apple/zookeeper0/data    
    5. dataLogDir=/Users/apple/zookeeper0/logs    
    6. clientPort=4180  
    7. server.0=127.0.0.1:8880:7770    
    8. server.1=127.0.0.1:8881:7771    
    9. server.2=127.0.0.1:8882:7772  

    新增了几个参数, 其含义如下:

    • initLimit: zookeeper集群中的包含多台server, 其中一台为leader, 集群中其余的server为follower. initLimit参数配置初始化连接时, follower和leader之间的最长心跳时间. 此时该参数设置为5, 说明时间限制为5倍tickTime, 即5*2000=10000ms=10s.
    • syncLimit: 该参数配置leader和follower之间发送消息, 请求和应答的最大时间长度. 此时该参数设置为2, 说明时间限制为2倍tickTime, 即4000ms.
    • server.X=A:B:C 其中X是一个数字, 表示这是第几号server. A是该server所在的IP地址. B配置该server和集群中的leader交换消息所使用的端口. C配置选举leader时所使用的端口. 由于配置的是伪集群模式, 所以各个server的B, C参数必须不同.

    参照zookeeper0/conf/zoo.cfg, 配置zookeeper1/conf/zoo.cfg, 和zookeeper2/conf/zoo.cfg文件. 只需更改dataDir, dataLogDir, clientPort参数即可.

    在之前设置的dataDir中新建myid文件, 写入一个数字, 该数字表示这是第几号server. 该数字必须和zoo.cfg文件中的server.X中的X一一对应.
    /Users/apple/zookeeper0/data/myid文件中写入0, /Users/apple/zookeeper1/data/myid文件中写入1, /Users/apple/zookeeper2/data/myid文件中写入2.

    分别进入/Users/apple/zookeeper0/bin, /Users/apple/zookeeper1/bin, /Users/apple/zookeeper2/bin三个目录, 启动server.
    任意选择一个server目录, 启动客户端:

    Bash代码  收藏代码
    1. bin/zkCli.sh -server localhost:4180  

     

    集群模式

    集群模式的配置和伪集群基本一致.
    由于集群模式下, 各server部署在不同的机器上, 因此各server的conf/zoo.cfg文件可以完全一样.
    下面是一个示例:

    Bash代码  收藏代码
    1. tickTime=2000    
    2. initLimit=5    
    3. syncLimit=2    
    4. dataDir=/home/zookeeper/data    
    5. dataLogDir=/home/zookeeper/logs    
    6. clientPort=4180  
    7. server.43=10.1.39.43:2888:3888  
    8. server.47=10.1.39.47:2888:3888    
    9. server.48=10.1.39.48:2888:3888  

    示例中部署了3台zookeeper server, 分别部署在10.1.39.43, 10.1.39.47, 10.1.39.48上. 需要注意的是, 各server的dataDir目录下的myid文件中的数字必须不同.

    10.1.39.43 server的myid为43, 10.1.39.47 server的myid为47, 10.1.39.48 server的myid为48.


  • 相关阅读:
    NanoProfiler
    NanoProfiler
    Open Source Cassandra Gitbook for Developer
    Android Fragment使用(四) Toolbar使用及Fragment中的Toolbar处理
    Android Fragment使用(三) Activity, Fragment, WebView的状态保存和恢复
    Android Fragment使用(二) 嵌套Fragments (Nested Fragments) 的使用及常见错误
    Android Fragment使用(一) 基础篇 温故知新
    Set up Github Pages with Hexo, migrating from Jekyll
    EventBus源码解析 源码阅读记录
    Android M Permission 运行时权限 学习笔记
  • 原文地址:https://www.cnblogs.com/silyvin/p/9106716.html
Copyright © 2011-2022 走看看