zookeeper的安装:
1.关闭防火墙
firewalld服务即可:
sudo systemctl stop firewalld.service && sudo systemctl disable firewalld.service
2. JDK
3. tar -xvf
4.进人 cd zookeeper-3.4.8/conf
5.zoo_sample.cfg文件复制为zoo.cfg cp zoo_sample.cfg zoo.cfg
6.vim zoo.cfg
7.修改其中的属性dataDir,指定数据的存储目录:dataDir=/home/software/zookeeper-3.4.8/tmp
文件恢复
vi -r xxx.c
rm -rf .zoo.conf.swp
systemctl stop firewalld.service && systemctl disable firewalld.service
zookeeper的节点
1.节点的状态:looking-选举 follower-跟随者 leader-领导者 observerobserver 观察者
2.集群最少是3个,奇数(过半性)
3.集群分裂产出多个leader,叫脑裂 ,当存活没有过半,整个集群停止服务不提供选举
ZAB协议
1.ZAB是专门Zookeeper设计的协议,基于2PC和PAXOS来进行设计
2PC -Two Phase Commit 二阶段提交(一票否决),优点:原理简单,缺点:效率低下,协调者存在单点故障
Paxos用于不稳定的集群决定某个请求的执行的
2.原子广播(保证数据一致性)和崩溃恢复(解决2pc算法的单点问题)
原子广播:解决信息的共享问题
3.节点新进人集群,这个节点会找leader,信息共享
查看log
cp zookeeper-3.4.8.jar tmp/version-2/ 复制
cd lib
cp slf4j-api-1.6.1.jar ../tmp/version-2/
cd ../tmp/version-2/
java -cp .:zookeeper-3.4.8.jar:slf4j-api-1.6.1.jar org.apache.zookeeper.server.LogFormatter log.200000001
观察者
是zookeeper的节点状态之一
不会参与投票和选举,听从leader
用于不稳定的网络ss
sbserver 宕机 --集群会提供服务,请求是否执行有leader-follower执行(过半)
特性:
1 数据一致性
2.顺序性 --队列
3.实时
4.可靠
5.原子性
6.过半性