Zookeeper
分布式部署特点:
1.分布性
2.对等性
3.并发性
4.缺乏全局时钟
5.随时会出故障
分布式部署带来的问题:
1.通信异常,网络是不可靠的
2.网络分区,脑裂问题
3.三态
4.节点故障
Zookeeper 的使用场景:
1.数据发布订阅
2.负载均衡
3.命名服务 (全局ID)
4.Master选举
5.集群管理
6.配置管理
7.分布式队列
8.分布式锁
集群配置:
zoo.cfg中配置
server.0=ip:通讯端口:数据端口
server.1=ip:通讯端口:数据端口
server.2=ip:通讯端口:数据端口
在每个节点配置的dataDir目录下创建myid文件,其内容就对应server.0(1,2,3) 这些id
ACL机制
表示为 scheme:id:permissions 字段1表示机制,字段2表示用户
schema
world: 默认方式,所有都可以访问,anyone
auth: 已经认证过的用户可以访问--> username:password
digest: 密码认证可以访问-->username:base64(sha1(password))
ip: 指定ip的可以访问
permission
CREATE
READ
WRITE
DELETE
ADMIN
命令:
getAcl /aaa/bbb
setAcl /aaa/bbb world:anyone:crwa
setAcl /aaa/bbb auth:user1:123123:crwa
addauth digest user1:123123 添加(登录)用户权限
常用四字命令
安装nc: yum install nc
持久化方式
1.log 类似redis的aof,保存的是命令
2.snapshot 快照文件,类似redis的rdb,需要配置开启才生效(snapCount项,每进行N次日志写入后,触发一次snapshot生成,N=snapCount/2+random(0,snapCount/2))