【知识积累】Zookeeper(zk)的安装、节点存储

一、下载Zookeeper并解压

http://download.csdn.net/download/axin1240101543/10258305

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

二、修改配置文件

进入zookeeper的conf目录下

默认参数说明:

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的路径)

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

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

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

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

四、服务端的操作

1、运行服务

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

2、停止服务

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

五、客户端的操作

1、打开客服端

zkCli.cmd    连接本地服务端

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

2、help 查看操作命令

3、创建节点

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

  create -s /mynode mydata     (sequence)

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

  create -e /mynode mydata 

3.3.创建永久节点

  create /mynode mydata

4、读取节点

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

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

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

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

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

5、更新节点内容

  set path data [version]

  set /mynode newdata

6、删除节点

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

六、客户端常见问题

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。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值