zookeeper

zookeeper的基本原理和概念:

分布式系统:是硬件或软件组件分布在网络中的不同计算机之上,彼此间仅通过消息传递进行通信和协作的的系统。

特征: 分布性;对等性;并发性;缺乏全局时钟,故障必然会发生。

典型问题:

通信异常;网络分区;三态(成功,失败,超时);节点故障

zookepeer:是一个开源的分布式协调服务,由知名公司Yahoo创建,它是chubby的开源实现;换句话说。zk是一个典型的分布式数据一致性解决方案,分布式应用程序可以基于它来实数据的发布/订阅,负载均衡,名称服务,分布式协调/通知,集群管理,master选举,分布式锁和分布式对列;

 

 

 

 

 

 

zookeeper的安装和配置:

单机安装:

1 .http://archive.apache.org/dist/zookeeper/ (在此下载zookeeper的tar包)

2 . 将下载下来的包上传到虚拟机上并解压缩。(解压到的目录为自定义的需要自己新建)

tar -xvf zookeeper-3.4.5.tar.gz  -C /data/myapp/

3 . cd /data/myapp/zookeeper-3.4.5/ 进入解压后的目录里去创建两个文件夹:

mkdir data   (用来存放数据信息)

mkdir logs   (用来存放数据信息)

4 .进入zookeeper的配置文件里,新建配置文件,并添加的内容:

cd /data/myapp/zookeeper-3.4.5/conf/

vim zoo.cfg

tickTime=2000  (检查时间)
dataDir=/data/myapp/zookeeper-3.4.5/data     (指定存放数据的路径)
dataLogDir=/data/myapp/zookeeper-3.4.5/logs  (指定存放日志的路径)
clientPort=2181    (指定客户端监听的端口号)

基本概念:
      集群角色: leader ; follower; observer 
      leader : 领导者  (负责读写操作的主节点),选举产生。
      follower:跟随着。平民,当leader主节点宕机之后,可选举为新的leader。只用来提供读服务。但当老的leader重新回来之后,自己又会回到follower的身份上去。
      observer:观察员。只有选举主节点的权利,而无法被选举为主节点。也用来提供读服务。
       会话:后端的服务器连接到zk上去,(tcp的长链接,直至宕机才断开连接)并定时更新自己节点主机的状态信息,这样其他的后端服务器,就可以知道其它节点上主机的状态信息了。
      数据节点:(Znode:):zk的数据都存储于内存当中,数据模型为树桩结构(ZNode Tree);每个ZNode都会保存自己的数据于内存中;
    ZNode节点分为两类:
            持久节点:仅显式删除才消失。
            临时节点:会话终止即自动消失。
    节点的三种状态:looking;following;leading(当leader节点宕机之后各个。其他节点上的机器开始进入looking的状态,来选举出新的leader)

四个阶段: 选举(election)
           发现(discover)
           同步(sync)
           广播(broadcast)

 

 

伪集群模式:

 

 

 

 

 

 

集群模式:

 

 

 

 

 

 

 

 

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/112553

联系我们

400-080-6560

在线咨询

工作时间:周一至周五,9:30-18:30,节假日同时也值班

QR code