1. 单机安装 
  • 下载zookeeper ,https://www.apache.org/dyn/closer.cgi/zookeeper/

                版本:zookeeper-3.4.12

  • 解压 : tar -zxvf zookeeper-3.4.12.tar.gz
  • 进入conf ,
  • 配置
  • 复制zoo_sample.cfg ,并更名zoo.cfg.
  • 配置内容

                # 服务器与客户端之间交互的基本时间单元(ms)

                tickTime=2000
                # 保存zookeeper数据路径
                dataDir=/home/zookeeper/data
                # 端口号
                clientPort=2181

                 #保存zookeeper日志数据路径
                dataLogDir=/home/zookeeper/logs

 

2、集群安装 

        包含 【单机安装的配置】

追加:

            # 此配置表示允许follower连接并同步到leader的初始化时间,它以tickTime的倍数来表示。当超过设置倍数的tickTime时间,则连接失败。
            initLimit=10
            #  Leader服务器与follower服务器之间信息同步允许的最大时间间隔,如果超过次间隔,默认follower服务器与leader服务器之间断开链接。
            syncLimit=5

            #限制连接到zookeeper服务器客户端的数量
            maxClientCnxns=60

            #表示了不同的zookeeper服务器的自身标识,作为集群的一部分,每一台服务器应该知道其他服务器的信息。用户可以从“server.id=host:port:port” 中读取到相关信息。在服务器的data(dataDir参数所指定的目录)下创建一个文件名为myid的文件,这个文件的内容只有一行,指定的是自身的id值。比如,服务器“1”应该在myid文件中写入“1”。这个id必须在集群环境中服务器标识中是唯一的,且大小在1~255之间。这一样配置中,zoo1代表第一台服务器的IP地址。第一个端口号(port)是从follower连接到leader机器的端口,第二个端口是用来进行leader选举时所用的端口。所以,在集群配置过程中有三个非常重要的端口:clientPort:2181、port:2888、port:3888。
            server.id=host:port:port 

 

3、日志配置参数 

    #客户端在与zookeeper交互过程中会产生非常多的日志,而且zookeeper也会将内存中的数据作为snapshot保存下来,这些数据是不会被自动删除的,这样磁盘中这样的数据就会越来越多。不过可以通过这两个参数来设置,让zookeeper自动删除数据。

             #autopurge.snapRetainCount是设置保留多少个snapshot,之前的则删除。
             autopurge.snapRetainCount=3
            # autopurge.purgeInterval就是设置多少小时清理一次 .
            autopurge.purgeInterval=1

4、命令 

进入 bin 目录 

服务

./zkServer.sh  参数

 ./zkServer.sh {start|start-foreground|stop|restart|status|upgrade|print-cmd}

客户端

./zkClient  参数

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