④分布式锁 类似线程锁:调用资源时其他调用时阻塞状态
⑤集群管理: 保证数据的强一致性
目前来看 zookeeper是数据结构中的tree结构
可以创建持久节点.临时节点和顺序节点
create -e/-s 临时节点和顺序节点
create [-s] [-e] path data acl
set node data version 修改节点
delete node version 删除节点
增删改 在删改的时候加上版本号 会实现乐观锁
watcher机制 监控节点的增删改 都会触发watcher事件
父节点watch事件触发:
①NodeCreated : 绑定命令为 stat /path watch
②NodeDataChanged:
③NodeDeleted:
④NodeChildrenChanged:父节点使用ls path watch 子节点增加删除时都会触发此事件
!!!ps: 所有绑定事件在触发一次后都会失效,需要进行重新绑定linux常用命令,子节点修改时只能在子节点绑定get path watch
watch使用场景:zk集群统一资源配置。当修改主机节点信息时会触发watch事件linux常用命令,修改其他节点信息,其他节点信息改变会触发此节点watch事件进而继续修改其他节点配置信息如图:
ACL:权限认证列表 (access control list) 权限控制单
ACL命令行学习:
命令这样写:
schema: 包含三种模式
world:任何人都可以访问
auth: 用户名明文密码访问
digest: 用户名密文密码访问
注册用户以及设置权限:
digest: 加密登陆
不上图了
通过ip设置权限:
超级管理员:
vim zkServer.sh
/nohup 查找
"-Dzookeeper.DigestAuthenticationProvider.superDigest=super:g9oN2HttPfn8MMWJZ2r45Np/LIA=" \
super:superpw
重启服务 ./zkServer.sh restart 生效
zookeeper 四字命令:用于查看zookeeper各状态
去官网看吧 还有白名单。
cd conf
vim zoo.cfg
搭建伪集群
启动每个服务器 连接2181端口:
./zkCli.sh -server localhost:2181 设置数据
切换./zkCli.sh -server localhost:2182 查询数据