一、下载Zookeeper并解压

http://archive.apache.org/dist/zookeeper/

二、修改配置文件

进入zookeeper的conf目录下

windows 如何清理zookeeper日志 zookeeper清除缓存_zookeeper

windows 如何清理zookeeper日志 zookeeper清除缓存_zookeeper_02

默认参数说明:

tickTime :zk的时间单元,zk中所有时间以这个时间为基础进行整数配置。

initLimit:follower启动时,从leader同步数据,leader允许follower完成同步工作的时间限制。通常不用在意,当使用zk集群时,数据量变大,则适当调大。

syncLimit:leader负责与zk集群的所有机器进行通信,例如利用心跳检测机制检测follower是否存活,当leader发出心跳包在syncLimit时间后,没有收到响应,则表示当前的follower已经不在线,此参数不宜过大。

dataDir:存储快照文件snapshot的目录。默认情况下,事务日志也会存储在这个目录下。

dataLogDir:事务日志输出目录,最好给事务日志的输出配置单独磁盘或者挂载点,这将提高zk性能。

clientPort:客户端连接server的端口,默认2181

三、启动配置

进入zookeeper的bin目录下

1、zkEnv   设置Zookeeper的环境变量(例如:指定jdk的路径)

windows 如何清理zookeeper日志 zookeeper清除缓存_子节点_03

2、zkCleanup  清理Zookeeper历史数据,包括事务日志文件和快照数据文件

3、zkServer   Zookeeper服务器的启动、停止、和重启脚本

(启动报错,可以暂停窗口,查看报错信息,在zkServer脚本最下面添加pause)

windows 如何清理zookeeper日志 zookeeper清除缓存_zookeeper_04

4、zkCli    Zookeeper的一个简易客户端

四、服务端的操作

1、运行服务

zkServer.cmd start(使用jps查看是否存在QuorumPeerMain进程,存在表示已启动)

windows 如何清理zookeeper日志 zookeeper清除缓存_zookeeper_05

2、停止服务

zkServer.cmd stop(使用jps查看是否存在QuorumPeerMain进程,不存在表示已销毁)

五、客户端的操作

1、打开客服端

zkCli.cmd    连接本地服务端

windows 如何清理zookeeper日志 zookeeper清除缓存_zookeeper_06

windows 如何清理zookeeper日志 zookeeper清除缓存_zookeeper_07

zkCli.sh -server ip:port    连接指定服务端   (zk的bin目录下输入命令)

windows 如何清理zookeeper日志 zookeeper清除缓存_客户端_08

windows 如何清理zookeeper日志 zookeeper清除缓存_子节点_09

2、help 查看操作命令

3、创建节点

  create [-s] [-e] path data acl   -s:顺序节点  -e:临时节点   不指定表示持久节点  acl:权限控制
  3.1.创建顺序节点  (名称后面带有数字标识)

  create -s /mynode mydata     (sequence)

windows 如何清理zookeeper日志 zookeeper清除缓存_子节点_10

3.2.创建临时节点  (客户端会话结束,自动删除)

  create -e /mynode mydata 

windows 如何清理zookeeper日志 zookeeper清除缓存_子节点_11

3.3.创建永久节点

  create /mynode mydata

windows 如何清理zookeeper日志 zookeeper清除缓存_客户端_12

4、读取节点

  ls path [watch]
  get path [watch]
  ls2 path [watch]
  4.1.ls /   获取根节点下所有子节点   

      ls /mynode  获取mynode节点下所有的子节点

windows 如何清理zookeeper日志 zookeeper清除缓存_子节点_13

 4.2 get/   获取根节点数据内容和属性信息    

      get /mynode   获取mynode节点的数据内容和属性信息

windows 如何清理zookeeper日志 zookeeper清除缓存_客户端_14

  4.3.ls2 /   获取根节点下所有子节点和属性信息

windows 如何清理zookeeper日志 zookeeper清除缓存_zookeeper_15

5、更新节点内容

  set path data [version]

  set /mynode newdata

windows 如何清理zookeeper日志 zookeeper清除缓存_zookeeper_16

6、删除节点

  detele path [version]
  detele /mynode
  (如果有子节点,则需要先删除子节点,然后删除父节点)

windows 如何清理zookeeper日志 zookeeper清除缓存_子节点_17

六、客户端常见问题

packet len* is out of range

创建了与server的连接后,要对某个节点进行读写操作,为了提高QPS,先判断该节点数据量是否超过默认值4096*1024(4M)或者自定义的jute.maxbuffer值,如果是,则抛出异常packet len* is out of range。

解决方案:

修改zkClid.cmd脚本文件,添加变量:"-Djute.maxbuffer=40960000000000",此值请自定义,设置过大,会影响QPS。

windows 如何清理zookeeper日志 zookeeper清除缓存_客户端_18