目录

  • 单机部署
  • 解压
  • 配置
  • 启动
  • 查看状态
  • 停止
  • NIO&BIO在Zookeeper中应用

单机部署

解压

解压上面下载的压缩包

tar -zxvf apache-zookeeper-3.7.0-bin.tar.gz

配置

到解压目录下,/conf目录,把zoo_sample.cfg文件复制一份,命名为zoo.cfg

配置文件详解

Zookeeper配置文件详解

tickTime=2000
#这个属性表示心跳时间间隔,Leader用来监听Follower的心跳,一旦挂掉一半以上Follower,会通过Zab(消息原子广播)协议使集群所有个体状态转变为Looking(等待选举新任Leader)。此属性除了用来监听之外,还对后面的同步时间和初始化时间有影响,系统默认为2000毫秒。
initLimit=10
#集群中的follower服务器与Leader服务器之间初始连接时能容忍的最多心跳数(tickTime的数量),系统默认为10。
syncLimit=5
#集群中Follower服务器跟Leader服务器之间的请求和答应最多能容忍的心跳数(tickTime的数量),系统默认为5。
dataDir=/user/local/zookeeper/data
#此属性表示一个路径,用来存放数据快照(即zookeeper目录)、myid文件和日志文件夹,系统默认为/tmp/data,根据自己zk安装路径进行修改并创建data目录。
clientPort=2181
#zk客户端端口号,默认2181。
maxClientCnxns=60
#单个客户端与zookeeper最大并发连接数
autopurge.snapRetainCount=3
#保存的数据快照数量,多出的会被清除
autopurge.purgeInterval=1
#自动触发清除任务时间间隔,单位:时,默认0,标识不自动清除
dataLogDir=/user/local/zookeeper/data/log
#此属性表示一个路径,用来存放zk写日志。不配置日志默认保存在dataDir下
server.0=190.168.241.127:2888:3888
server.1=190.168.241.128:2888:3888
server.2=190.168.241.129:2888:3888
#此处是关于zk集群的配置,index代表自定义的各服务器序号(对应写在各自机器的myid中),IP即各服务器IP,A表示集群服务器之间通讯组件的端口,B表示选举组件的端口。如果配成集群,则zk状态(mode)为leader或follower;如果只配一个单机,mode为standalone。


启动

./zkServer.sh start  ../conf/zoo.cfg
#解压目录/bin下执行,并且指定上一步创建的zoo.cfg配置文件
#成功启动会看到Starting zookeeper ... STARTED
#如果启动失败,去/usr/local/apache-zookeeper-3.7.0-bin/logs查看日志

查看状态

./zkServer.sh status  ../conf/zoo.cfg
#可查看使用哪个配置启动的、当前模式、启动状态

停止

./zkServer.sh stop  ../conf/zoo.cfg

NIO&BIO在Zookeeper中应用

  • NIO
    节点被连接或客户端开启监听事件时,用的是NIO
  • BIO
    集群选举投票时,用的BIO