zookeeper简介和安装

痞子三分冷 提交于 2020-03-08 20:22:12

Zookeeper简介

  zookeeper是致力于提供一个高性能、高可用,且具备严格的循序访问控制能力的分布式协调服务。由雅虎公司创建,是谷歌的Chubby一个开源实现,也是Hadoop和Hbase的重要组件。

特点:

  简单数据结构:共享的树形结构,类似文件系统,数据存储在内存中

  顺序访问:对于每个读请求,zk会分配一个全局唯一的递增编号,利用这个特性可以实现高级协调服务

  可构建集群:避免单点故障,3-5台机子便可组成集群,过半机制 保证只要超过半数机子正常工作就能对外提供服务

  高性能:基于内存操作,服务于非事务请求,适用于读操作为主的业务场景。3台zk集群能达到13w QPS

适用场景:

  发布订阅   集群管理  负载均衡  配置管理  命名服务  分布式队列  分布式锁  (后面会详细学习)

下载地址http://mirror.bit.edu.cn/apache/zookeeper/

  我在这里使用的是 zookeeper-3.5.7 版本 

      

       这里我直接下载使用编译好的二进制文件压缩包。

安装:

    将下载好的压缩包上传到服务器,使用命令: tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz  解压

  修改zk的配置文件  我这里使用的是伪集群模式 

    #间隔都是使用tickTime的倍数来表示的,例如initLimit=10就是tickTime的十倍等于2W毫秒
    tickTime=2000
    initLimit=10
    #间隔都是使用tickTime的倍数来表示的,例如initLimit=10就是tickTime的十倍等于2W毫秒
    syncLimit=5
    #数据文件目录
    dataDir=/usr/local/zookeeper/server1/data
    dataLogDir=/usr/local/zookeeper/server1/log
    #端口号 对外交互的端口号
    clientPort=2181
    #允许连接的客户端数目,0-不限制,通过 IP 来区分不同的客户端
    maxClientCnxns=60

    # 在dataDir中保留的快照数和日志文件数 最小值为3
    autopurge.snapRetainCount=3

    # 0禁止自动清除 1为每小时自动清除 默认不开启
    autopurge.purgeInterval=0

    #伪集群配置 真集群配置localhost使用真实ip  单机模式需要以下配置

    #端口号2881为zk集群之后通信的端口号   3881为zk集群选举的端口号 
    server.1=localhost:2881:3881
    server.2=localhost:2882:3882
    server.3=localhost:2883:3883

  创建myid

    数据文件夹目录下使用 echo 1 > myid 创建myid,对应集群配置 server.1=localhost:2881:3881 中server后的1,是zk服务的id 只能为数字且不能重复

  启动与停止

    进入zk的bin目录下

      ./zkServer.sh start  跟指定的配置文件  启动zk

      ./zkServer.sh restart  跟指定的配置文件  重新启动zk

      ./zkServer.sh stop  跟指定的配置文件  停止zk

      ./zkServer.sh status  跟指定的配置文件  查看zk的运行状态

    可以看到端口号为2182的zk进程为leader节点

 

  注意

    zookeeper 启动需要依赖 jdk,所以必须先安装jdk

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!