一、重点
重点:filePath + fileName
二、回顾zookeeper(zk)安装
- jdk zookeeper 压缩包上传
- 解压出来 复制到哪
tar -zxvf 压缩包 -C path
注意:path路径:/user/local [jdk/hadoop]
/opt [zk] - 配置文件
重点:filePath + fileName
Eg: vi ~/.bashrc - 生效文件
重点:filePath + fileName
Eg: source ~/.bashrc - Zk配置
dataDirPath:/tmp
logPath - 启动zk服务
zkServer.sh start - 查看zk服务是否开启
jps
三、zookeeper客户端连接zk集群服务
- Client连接zk服务
zkCli.sh -server 主机IP:port端口号
Eg:zkCli.sh -server localhost:2181
[zk:localhost:2181(CONNECTED) 0]
- 关闭zk会话
close
[zk:localhost:2181(CLOSED) 1]
- 连接(开启)zk会话
connect
[zk:localhost:2181(CONNECTED) 2]
四、zookeeperClient 命令
- 查看指定路径下的节点(znode)
ls / 查看根节点下的节点
【zookeeper】
查看zookeeper节点下的节点
ls /zookeeper
[config,quota]
- 查看指定节点信息(状态status)
stat 节点(filePath/fileName)
Eg: stat /zookeeper
参数含义:
ctime(createtime):创建该节点的日期
mtime(modifytime):修改该节点的日期
cZxid:创建该节点的事务ID
mZxid:修改该节点的事务ID
pZxid:添加和移除子节点更改的事物ID
cversion(Children):当前节点子节点版本号
dataversion:当前节点数据版本号
dataLength:当前节点数据的长度
Eg:nodeName:School
nodeDate:sxzlxy (String.length)
numChidren:当前节点子节点的个数
ephemeralOwner:如果是临时节点,该属性是临时节点事务ID。如果不是临时节点,这个值是0
- 创建节点node
需求:
根节点nodeName: School
根节点data:sxzyxy
考虑:节点属性:持久[-s]/临时[-e]
如果这两个参数都不写、默认创建的是持久节点
语法:create [-e][-s] path data
Eg: create /School sxzyxy
Path: /
nodeName:School
nodeDate: sxzyxy
Eg: create /class6 大数据A1906
3.1 创建持久顺序节点
第一种:[-e][-s] 这两个参数都不加的时候,创建的是持久节点
第二种:create –s /dataZnode 大数据
dataZnode0000000008
注意:如果通过 –s创建持久顺序节点
顺序:0000000000 这个序列号每次从最后一位开始累加
验证:持久节点
第一种验证:关闭会话以后,再次连接服务(开启会话)如果该节点还存在说明该节点为持久节点
close
Connect
ls /
3.2 创建临时节点
只需要加参数 –e
语法:create –e path/nodeName nodedata
Eg:创建临时节点tmpZnode
Path:/
nodeName:tmpZnode
nodeData:可以不写默认是null
create –e /tmpZnode
3.3 创建临时顺序节点
语法:create –e –s path/nodeName nodeData
Eg:创建临时顺序节点t1Znode、t2Znode 、t3ZNode
Path:/test
nodeName: t1Znode、t2Znode 、t3ZNode
nodeData: t1Data、t2Data 、t3Data
create -e -s /test/t1Znode t1Data
create -e -s /test/t2Znode t2Data
create -e -s /test/t3Znode t3Data
ls /test
- 查看指定节点的data值
语法:get path/nodeName
Eg: nodeName:class6
Path:/
get /class6
特殊情况:创建节点的时候,不给data值
Eg:create /tmpZnode
get /tmpZnode 结果:null
Eg:通过 stat /class6
dataLength:23
Eg: 查看stat /tmpZnode
dateLength:0
-
修改指定节点的data值
语法:set path/nodeName value
Eg: nodeName:class6
Path:/
Value:把指定节点的原始值更改成现在指定的值 优秀的大数据A1906
set /class6 优秀的大数据A1906
-
删除节点
语法:delete path
Eg: delete /SC
注意:如果被删除的节点存在子节点,则删除不掉会提示:node not empy:/School
如果想删除带有子节点的父节点只需要把其子节点一一删除即可
School
》Student delete /School/Student
》Teacher delete /School/Teacher
delete /School
- 退出zkCli 命令
quit
五 课堂任务
-
创建Znode节点 class1Znode,并且指定data数据:大数据1班
create /class1Znode 大数据1班
-
查看class1Znode节点的data值
get /class1Znode
res: 大数据1班
-
修改class1Znode 节点的 data值
set /class1Znode bigdata
-
在class1Znode节点下创建其子节点StudentZnode ,指定data值:AllTheStudents
create /class1Znode/StudentZnode AllTheStudents
-
在StudentZnode节点下创建3个持久顺序节点[-s],3个临时节点[-e]
create –s /class1Znode/StudentZnode/s_jason
create –s /class1Znode/StudentZnode/s_smith
create –s /class1Znode/StudentZNode/s_toby
create –e /class1Znode/StudentZnode/t_w
create –e /class1Znode/StudentZnode/t_b
create –e /class1Znode/StudentZnode/t_l
-
删除StudentZnode节点下的其中一个持久节点和临时节点
delete /class1Znode/StudentZnode/s_toby0000000002
delete /class1Znode/StudentZnode/t_w
-
退出zkCli 命令
quit