ZooKeeper|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 安装】参考:
  • ZooKeeper的安装与部署
  • ZooKeeper Getting Started Guide

    推荐阅读