zoukankan      html  css  js  c++  java
  • zooKeeper基础

    集群最少几台机器?集群规则是怎么样?集群中一个节点宕机,这个时候zookeeper还可以使用吗?

    集群规则为2N+1台,N>0 即至少3台,可以继续使用,单数服务器只要没超过一半的服务器宕机就可以继续使用

    部署方式分为单机/集群模式

    角色:leader/follower

    集群最少需要的机器数:3

    选举机制

    1 半数机制:集群中半数以上机器存活,集群可用,所以Zookeeper适合安装奇数台服务器

    2 zookeeper虽然在配置文件中并没有指定master和slave,但是,Zookeeper工作时,是有一个节点为leader,其他则为follower,Leader是通过内部的选举机制临时产生的

    3 以一个简单的例子来说明整个选举的过程

    假设有五台服务器组成的zookeeper集群,他们的id从1-5,同时他们都是最新启动的,也就是没有历史数据,在存放数据量这一点上,都是一样的,假设这些服务器依顺序启动,来看看会发生什么

    1.服务器1启动,此时只有它一台服务器启动了,它发出去的报文没有任何响应,所以它的选举状态一直是looking状态

    2.服务器2启动,它与最开始启动的服务器1进行通信,互相交换自己的选举结果,由于两者都没有历史数据,所以id值较大的服务器2胜出,但是由于没有达到超贵半数以上的服务器同意选举它,所以服务器1,2还是继续保持looking状态

    3.服务器3启动,根据前面的理论分析,服务器3成为服务器1,2,3中的老大,而与上面不同的是,此时三台服务器选举了它,所以它成为了这次选举的leader

    4.服务器4启动,根据前面的理论分析,理论上服务器4欧盟改革送服务器1,2,3,4中的老大,但是由于前面已经有半数以上的服务器选举了服务器3,所以它只能接受当小弟的命了

    5.服务器5启动同服务器4一样

    监听器原理

    一个zk的节点可以被监控,包括这个目录中存储的数据的修改,子节点目录的变化,一旦变化可以通知监护的客户端,这个功能是zookeeper对于应用最重要的特性,通过这个特性可以实现的功能包括配置的集中管理,集群管理,分布式锁等.

    watc机制的官方说明:一个Watch事件是一个一次性的触发器,当被设置了Watch的数据发生了改变的时候,则服务器将这个改变发送给设置 了Watch的客户端,以便通知他们

  • 相关阅读:
    做题遇到的问题集合
    常见算法和数据结构存在的坑(updating)
    Loj#2090. 「ZJOI2016」旅行者(网格图分治)
    洛谷P3332 [ZJOI2013]K大数查询(整体二分板题)
    dij费用流模板
    KM求每个大小的匹配的最优解 模板
    JZOJ 5067. 【GDOI2017第二轮模拟day2】有理有据题 (KD-tree+历史最值问题)
    Codeforces 1186F. Vus the Cossack and a Graph(欧拉回路)
    bzoj#2095. [Poi2010]Bridges(二分+混合图欧拉回路)
    二维最小乘积生成树模板
  • 原文地址:https://www.cnblogs.com/fengyouheng/p/15414261.html
Copyright © 2011-2022 走看看