在每台集群机器的配置文件(zoo.cfg)中做如下配置:
tickTime=2000dataDir=/home/myname/zookeeperclientPort=2181initLimit=5syncLimit=2server.1=192.168.229.160:2888:3888server.2=192.168.229.161:2888:3888server.3=192.168.229.162:2888:3888
initLimitzk集群模式下包含多个zk进程,根据其选举机制,只能有一个leader,余下的全部为follower,那么当一台follower初次与leader建立联系,第一次进行数据同步时的最大时长配置就是initLimit,注意这里initLimit不是具体时长,具体时长是initLimit*tickTime
syncLimit配置follower和leader之间发送消息,请求和应答的最大时长,注意这里syncLimit也不是具体时长,具体时长是syncLimit*tickTime
tickTime时长配置的基本单位,单位是ms
server.id=host:port1:port2其中id为不重复的数字即可,表示zk的标示id,与data目录的myid文件中内容一致,注意这里的id不是系统进程id(有的文章说是进程id),进程id在data目录zookeeper_server.pid文件查看
host是zk进程 所在服务器的ip,port1是数据信息交互端口,port2是选举端口
dataDirdata目录
连接服务器:bin/zkCli.sh -server ip:port
]help 查看zk的所有可执行命令:
[zk: 192.168.10.121:2181(CONNECTED) 0] help
ZooKeeper -server host:port cmd args
connect host:port
get path [watch] 显示指定路径下的节点信息,比如get /zk
ls path [watch] 查看指定目录下包含的节点,根节点为"/"
set path data [version] 设置节点的内容,比如 set /zk "anotherData"
rmr path
delquota [-n|-b] path
quit
printwatches on|off
create [-s] [-e] path data acl 创建一个节点,同时可以指定节点内容,比如 create /zk mydata
stat path [watch]
close
ls2 path [watch]
history
listquota path
setAcl path acl
getAcl path
sync path
redo cmdno
addauth scheme auth
delete path [version] 删除一个节点,比如delete /zk
setquota -n|-b val path
___
zk可以使用telnet来进行登录,比如telnet 192.168.10.121 2181,但是只能执行单条命令,不建议使用此方式连接
