ZooKeeper安装、部署

时间:2022-10-18 21:13:50

一.简介

      ZK的安装和配置十分简单,既可以配置成单机模式,也可以配置成集群模式,zk使用java编写的运行在java环境上,3个ZK服务进程是建议的最小进程数量,而且建议部署在不通的物理机上面,减少宕机带来的风险。

二.下载并解压   http://www.apache.org/dyn/closer.cgi/zookeeper/

三. 目录结构

ZooKeeper安装、部署

bin    zk的可执行脚本目录,包括zk服务进程,zk客户端,等脚本。其中,.sh是Linux环境下的脚本,.cmd是Windows环境下的脚本。

conf   配置文件目录。zoo_sample.cfg为样例配置文件,需要修改为自己的名称,一般为zoo.cfg。log4j.properties为日志配置文件。

lib     zk依赖的包。

contrib  一些用于操作zk的工具包。

recipes  zk某些用法的代码示例

四:配置项

      配置:移动config下面的zoo_sample.cfg并重命名为zoo.cfg,打开zoo.cfg,看到默认配置如下:

tickTime: 时长单位为毫秒,为zk使用的基本时间度量单位。服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳,tickTime的默认值为2000毫秒,更低的tickTime值可以更快地发现超时问题,但也会导致更高的网络流量(心跳消息)和更高的CPU使用率(会话的跟踪处理)。

clientPort:客户端连接 Zookeeper 服务器的端口,zk服务进程监听的TCP端口,默认情况下,服务端会监听2181端口。

dataDir:无默认配置,必须配置,用于配置存储快照文件的目录。如果没有配置dataLogDir,那么事务日志也会存储在此目录。

initLimit:集群中的follower服务器与leader服务器之间初始连接时能容忍的最多心跳数。(tickTime数量)

syncLimit:集群中的follower服务器与leader服务器之间请求和应答之间能容忍的最多心跳数。(tickTime数量)

dataLogDir:日志文件目录

server.N=IP:port:port 服务器名称与地址:集群信息(服务器编号,服务器地址,leader follower通信端口,选举端口)

五:启动

         ./zkServer.sh start

后台运行:

./zkServer.sh start-foreground

 六:连接

        bin/zkCli.sh -server ip:port

七:client支持的命令

   

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