Zookeeper是一个分布式协调服务器,就是为用户的分布式应用程序提供协调服务。
- 可以提供的服务:主从协调,服务器节点动态上下线,统一配置管理,分布式共享锁,统一名称服务等。(归根结底,底层提供了A.管理【存储、读取】用户程序提交的数据; B.为用户程序提供数据节点监听服务)
- zookeeper集群的角色:一个leader和多个follower(observer)
- 适合安装在奇数个节点上
- Znode有两种类型:A 短暂(ephemeral)断开连接后,自动被删除 B 持久(persistent)
- Znode有四种类型的目录节点(默认是persistent):
- PERSISTENT
- PERSISTENT_SEQUENTIAL (持久序列)
- EPHEMERAL
- EPHEMERAL_SEQUENTIAL
- 命令行操作:
- ./zkCli.sh 启动客户端命令行
- ls / 查看当前zookeeper中所包含的内容
- create /zk "my Data" 创建一个新的znode和与它关联的数据(字符串)
- create -e /zk/server 创建一个临时节点
- create -s /zk/server 创建一个带序号的节点
- get /zk 查看数据 (包括生产的属性数据)
- set /zk 对zk所关联的字符串进行更新
- get /zk watch 监听服务 当从其他节点改变zk节点数据时,会提醒
- ls /zk/ watch 监听子节点变化
- delete /zk 删除节点
- rmr /zk 删除节点(包括子节点)
功能 |
描述 |
create |
在本地目录树中创建一个节点 |
delete |
删除一个节点 |
exists |
测试本地是否存在目标节点 |
get/set data |
从目标节点上读取 / 写数据 |
get/set ACL |
获取 / 设置目标节点访问控制列表信息 |
get children |
检索一个子节点上的列表 |
sync |
等待要被传送的数据 |