Znode可能包含也可能不包含数据。如果一个znode包含数据,那么数据是以字节数组的形式来存储的。具体字节的组织形式因每个应用而异,并且Zookeeper不提高直接解析字节的方法。序列化的包可以用来处理存储在znode中的数据,例如Protocol Buffers, Thrift, Avro和MessagePack,但有时以UTF-8或者ASCII编码的字符串形式就足够了。
Zookeeper API暴露了下面几个操作:
- create \/path data 创建一个以\/path命名的znode节点,同时保护数据data
- delete \/path 删除路径为\/path的znode节点
- exists \/path 判断是否存储\/path路径的znode节点
- setData \/path data 设置路径为\/path的znode的节点数据为data
- getData \/path 获取路径为\/path的znode节点的数据
- getChildren \/path 获取路径为\/path的znode节点的孩子节点
非常重要的一点是Zookeeper不允许写或者读znode上数据。当设置znode上的数据或者读取时,数据内容是被整个替换或者读取的。
Zookeeper的客户端通过它们发出API调用来连接到Zookeeper服务并且建立一个会话。如果你着急的想使用Zookeeper,请直接跳到“会话”,那一节描述了如何通过一个命令行shell来运行zookeeper的命令。
当前内容版权归 mymonkey110 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 mymonkey110 .