目录概要:
一、安装包下载
二、单机版安装
三、常用命令及节点操作
四、节点特性
五、集群安装
正文
一、安装包下载地址(另外需要安装jdk环境):
https://archive.apache.org/dist/zookeeper/
ps: 楼主使用的是zookeeper-3.4.10.tar.gz
二、单机版安装
- 下载包,解压
- 需 要 将 conf 目 录 下 的zoo_sample.cfg 文件 copy 一份重命名为 zoo.cfg(因为服务默认读取该配置文件)
- 进入bin目录,执行./zkServer.sh start即可启动服务;启动成功如下图:
[root@localhost bin]# ./zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /root/zookeeper-3.4.10/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@localhost bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /root/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: standalone
三、常用命令及节点操作
- zookeeper服务命令
- 启动 ZK 服务:
./zkServer.sh start
- 查看 ZK 服务状态:
./zkServer.sh status
- 停止 ZK 服务:
./zkServer.sh stop
- 重启 ZK 服务:
./zkServer.sh restart
- 连接服务器
./zkCli.sh -timeout 0 -r -server ip:port
6.查看日志
tail -f zookeeper.out
7.进入zookeeper
./zkCli.sh
- ./zkCli.sh 进入zookeeper后,可用以下命令对节点进行操作。可输入help命令查看
ls path:列出path下的文件
stat path [watch] 查看节点状态
set path data [version] 修改节点
ls path [watch] 列出path节点的子节点
delquota [-n|-b] path
ls2 path [watch] 列出path节点的子节点及状态信息
setAcl path acl
setquota -n|-b val path
history
redo cmdno
printwatches on|off
delete path [version] 删除path节点
sync path
listquota path
rmr path
get path [watch] 获取path节点的内容
create [-s] [-e] path data acl 创建path节点
addauth scheme auth
quit
getAcl path
close
connect host:port
注意:delete只能删除没有子节点的节点,
如果要删除的节点包含子节点,使用rmr命令
实例:
1、创建demo节点,值为zhangsan
[zk: localhost:2181(CONNECTED) 2] create /demo zhangsan
Created /demo
2、查看/ 目录下的节点
[zk: localhost:2181(CONNECTED) 3] ls /
[wsw, wwws, zookeeper, ws, demo, seq0000000001]
3、查看demo节点的内容
[zk: localhost:2181(CONNECTED) 4] get /demo
zhangsan //值
cZxid = 0x11e //创建id
ctime = Wed Jul 17 08:12:19 CST 2019 //创建时间
mZxid = 0x11e //修改id
mtime = Wed Jul 17 08:12:19 CST 2019//修改时间
pZxid = 0x11e //子节点最后一次修改的id(默认与cZxid相等,只有子节点变更才会改变)
cversion = 0 //当前节点的子节点版本号,修改时版本号变更
dataVersion = 0 //当前数据的版本号
aclVersion = 0 // 当前节点权限ACL变更的版本号
ephemeralOwner = 0x0//临时节点才有意义, ephemeralOwner值表示与该节点绑定的session id.
dataLength = 8 //数据内容长度
numChildren = 0//子节点的数量
4、修改节点的值
set /demo demo
5、删除节点
delete /demo
ps:其它的自己试着玩吧
四、节点的特性:
- 同级节点的唯一性
- 临时节点和持久化节点
- 有序节点
- 临时节点下不能存在子节点
五、集群安装
- 准备三台服务器(一主两从)
- 将zookeeper-3.4.10.tar.gz分别拷贝到三台服务器中,按照单机版本各自安装
- 分别修改三台服务器的zoo.cfg文件,格式如下(server.id=ip:port:port)
server.1= 192.168.1.148:2888:3888
server.2= 192.168.1.149:2888:3888
server.3= 192.168.1.150:2888:3888
注意:IP分别为三台服务器的ip;
- 在 datadir 目录下,创建 myid文件
在每台zookeeper机器上,我们都需要在数据目录(dataDir)
下创建一个 myid 文件,该文件只有一行内容,对应每台机
器的 Server ID 数字;比如 server.1 的 myid 文件内容就是
1。【必须确保每个服务器的 myid 文件中的数字不同,并且
和自己所在机器的 zoo.cfg 中 server.id 的 id 值一致,id 的
范围是 1~255】
如:上述192.168.1.148服务中的myid的值就是1 - 分别启动zookeeper服务
- 分别查看服务状态