ZooKeeper 安装

ZooKeeper是一个高性能的分布式应用的协调服务,通过ZooKeeper提供的接口可以实现命名、配置管理、同步和集群管理、选举的操作。

软件包准备

在ZooKeeper官网下载最新的稳定版本。

  • bin/ zk的脚本,包含zk的服务、客户端和状态查看的脚本
  • conf/ 配置文件
  • recipses/ zk的示例代码

运行模式

只启用一个zk为单机模式,常常用在开发测试环境中。启用多个zk为集群模式。一台集群上起多个ZooKeeper进程在生产环境中是没有任何意义的,因为同一台机器上起多个zk会增加物理机的消耗,并且并不能达到高可用的效果。

单机模式

创建一个 conf/zoo:

  • tickTime=2000
    zk的度量时间,单位毫秒。一倍单位是心跳监测时间,两倍单位是会话超时时间;
  • dataDir=/var/lib/zookeeper
    用于存储保存在内存中的数据的快照,如果没有设置数据日志目录,事务日志也会存储在这而;
  • clientPort=2181
    zk监听的端口

进入bin目录,启动服务

/zkServer.sh start

可以通过

./zkServer.sh status

查看zk的状态
也可以通过 zkCli.sh -server ip:port 连接zk
输入help可以查看能够使用的指令

[zk: localhost:2181(CONNECTED) 3] help
ZooKeeper -server host:port cmd args
        stat path [watch]
        set path data [version]
        ls path [watch]
        delquota [-n|-b] path
        ls2 path [watch]
        setAcl path acl
        setquota -n|-b val path
        history
        redo cmdno
        printwatches on|off
        delete path [version]
        sync path
        listquota path
        rmr path
        get path [watch]
        create [-s] [-e] path data acl
        addauth scheme auth
        quit
        getAcl path
        close
        connect host:port

这里就不详细描述了

集群模式

集群模式中在配置文件中多了如下内容

initLimit=5
syncLimit=2
server.1=zoo1:2888:3888
server.2=zoo2:2888:3888
server.3=zoo3:2888:3888

initLimit follower和leader进行数据同步的最大时长
syncLimit follower和leader进行通信的最大时间长度
server.id=host:port1:port2 port1 为follower和leader的通信端口,port2 为选举所使用的端口
不同机器使用同一份配置文件便可以启动一个zk集群

参考:

  • ZooKeeper的安装与部署
  • ZooKeeper Getting Started Guide

你可能感兴趣的:(ZooKeeper 安装)