Zookeeper学习

# Zookeeper特性
1. 一致性:数据按照顺序分批入库
2. 原子性:事务要么成功要么失败
3. 单一视图:客户端连接任一zookeeper节点,数据都是一致的
4. 可靠性:每次操作都会保存
5. 实时性:客户端可以读取到最新数据


# zoo.fig配置
1. tickTime: 计算时间单元,毫秒
2. initLimit: 用于集群,允许从节点到主节点的初始连接时间,是tickTime的倍数
3. syncLimit: 心跳机制请求和应答时间长度
4. dataDit: 数据存储目录
5. dataLogDir: 日志目录
6. clientPort: 服务器端口,默认2181


# Zookeeper基本功能
1. 树结构,类似linux结构
2. ./zkCli.sh 启动客户端
3. 节点选举,主节点挂了,从节点会接手工作,保证高可用
4. 统一配置文件管理,即只需部署一台服务器,则可以把相同的配置文件同步更新到其他所有服务器
5. 发布订阅,发布者将数据存在znode上,订阅者读取
6. 分布式锁,不同进程会争夺资源
7. 集群管理, 保证数据的强一致性


# 命令
1. ls 查看子节点
2. ls2 查看子节点+stat
3. get stat 显示基本信息
4. create /demo/demo demo (-s 有序 , -e 临时)
5. set修改 set /demo newdemo 1(1是版本号,乐观锁) 
6. delete /demo 1(只会删除版本号为1的节点)




# session原理
1. 客户端与服务端之间的连接存在会话
2. 每个会话都可以设置超时时间
3. 心跳结束,session就会过期
4. session过期,临时结点znode会被抛弃


# watcher机制
1. 针对每个节点的操作
2. 当某个节点znode发生变化,会触发watcher
3. 一次性(通过插件实现永久)
4. 增删改都会触发
5. 创建stat /demo watch 给demo节点加触发器get /demo watch  ls /demo watch
6. 修改子节点不会触发父节点的触发器


# ACL权限控制
## 四种ACL模式 world,auth,digest,ip
1. 针对节点设置相关的读写权限
2. getAcl 获取某节点权限信息
3. setAcl 设置某节点信息
4. addauth 输入认证授权信息
5. 通过三个元素构成权限列表 scheme:某种机制 id:允许访问的用户 permissions:权限组和字符串
6. crdwa权限字符串,c创建,r获取,w写数据,d删除,a修改权限 
7. addauth digest user:pwd 先将用户密码添加到库里
8. setAcl /demo auth:wxs:123:cdrwa 设置第一次有效setAcl /names/test 
9. digest:wxs:du6Uisv8vNTo9rDUPJ8ikL2Ro94=:cdra安全性高
10. 通过ip设置权限 setAcl /names/ip ip:192.168.37.1:cdrwa 只有通过此ip才能访问
11. super超级用户,需要修改配置文件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值