首先,需要启动服务器,并使用zkCli.sh
连接服务器,进入客户端命令行界面(如第一关所述)。
节点状态包含以下信息:
czxid
: 节点创建时的时间戳。mzxid
: 节点最新一次更新发生时的时间。ctime
: 节点创建时的时间戳。mtime
: 节点最新一次更新发生时的时间。pZxid
: 该节点或该节点的子节点的最近一次创建或删除的时间戳。dataVersion
: 节点数据的更新次数。cversion
: 其子节点的更新次数。aclVersion
: 节点ACL
(授权信息)的更新次数。ephemeralOwner
: 如果该节点为ephemeral
节点,ephemeralOwner
值表示与该节点绑定的session id
; 如果该节点不是ephemeral
节点,ephemeralOwner
值为0
。dataLength
: 节点数据的字节数。numChildren
: 子节点个数。
例如,获得/zoo1
的节点信息,使用以下命令(如图所示):
stat /zoo1
节点值查看
获取当前节点值,使用get
命令,在获取数据时,会把对应的节点状态的信息列出。
例如,获取/zoo1
的节点数据This is a zoo1!
,使用以下命令(如图所示):
get /zoo1
节点数据更新
当创建时节点数据不适合当前要求,就需要更新当前节点数据。更新节点数据使用set
命令,在更新数据时,会把更新过的节点状态的信息列出。
例如,将/zoo1
的节点数据This is a zoo1!
更新为This is my zoo1!!!
,使用以下命令(如图所示):
set /zoo1 "This is my zoo1!!!"
编程要求
本关任务是使用命令行,进行以下操作:
-
开启ZooKeeper服务器。
-
使用客户端(
zkCli.sh
)连接服务器(IP:127.0.0.1
,端口号:2181
)。
zkServer.sh start
zkCli.sh -server 127.0.0.1:2181
-
创建
/myZNode
, 节点数据为This is my node!
的持久节点。
create /myZNode "This is my node!"
-
查看
/myZNode
节点状态。
stat /myZNode
-
将
/myZNode
节点数据更新为This is my second node!
。
set /myZNode "This is my second node!"
-
再次查看
/myZNode
节点状态,比较与前一次节点状态异同点。
stat /myZNode
-
断开客服端与服务器连接。
quit