美文网首页我爱编程
笔记:zookeeper分布式协作框架

笔记:zookeeper分布式协作框架

作者: 一花一叶异世界 | 来源:发表于2018-02-28 16:40 被阅读0次

    1
    分布式应用的协调框架,基于观察者模式设计
    2
    作用类似于管家
    3
    4
    优点:
    5
    可靠性:2N+1
    6
    可扩展性:需要时增加机器,少许修改即可,且不用停机
    7
    同步:服务器进程之间的相互排斥和协作。此过程有助于Apache HBase进行配置管理
    8
    原子性:数据转移完全成功或完全失败,但没有事务是部分的
    9
    序列化:根据特定规则对数据进行编码。确保应用程序运行一致。这种方法可以在MapReduce中用来协调队列以执行运行的线程

    ZooKeeper的架构
    客户端-服务器架构

    Client(客户端)
    2
    分布式应用集群中的一个节点,从服务器访问信息
    3
    每隔一定时间,客户端向服务器发送消息告知其存活
    4
    客户端连接时,服务器发送确认码。如果连接的服务器没有响应,客户端会自动将消息重定向到另一个服务器。
    5
    Server(服务器)
    6
    为客户端提供所有的服务。向客户端发送确认码以告知服务器是活跃的。
    7
    Ensemble
    8
    ZooKeeper服务器组。形成ensemble所需的最小节点数为3。
    9
    Leader
    10
    服务器节点,如果任何连接的节点失败,则执行自动恢复。Leader在服务启动时被选举。
    11
    Follower
    12
    跟随leader指令的服务器节点。

    数据结构
    ZooKeeper文件系统的树结构

    ZooKeeper节点称为 znode 。每个znode由一个名称标识,并用路径(/)序列分隔。
    2
    3
    在图中,首先有一个由“/”分隔的znode。在根目录下,你有两个逻辑命名空间 config 和 workers 。
    4
    config 命名空间用于集中式配置管理
    5
    每个znode最多可存储1MB的数据
    6
    workers 命名空间用于命名。
    7
    8
    9
    Znode的类型
    10
    持久节点
    11
    即使在创建该特定znode的客户端断开连接后,持久节点仍然存在
    12
    默认情况下,所有znode都是持久的。
    13
    临时节点
    14
    客户端活跃时,临时节点就是有效的。当客户端与ZooKeeper集合断开连接时,临时节点会自动删除。
    15
    只有临时节点不允许有子节点。
    16
    临时节点在leader选举中起着重要作用。
    17
    顺序节点
    18
    顺序节点可以是持久的或临时的。
    19
    当一个新的znode被创建为一个顺序节点时,ZooKeeper通过将10位的序列号附加到原始名称来设置znode的路径
    20
    顺序节点在锁定和同步中起重要作用。

    单机模式

    解压安装包
    2
    tar -zxf zookeeper-3.4.10.tar.gz -C /opt/moduels
    3

    4
    修改配置文件
    5
    修改文件名 /conf/zoo-simple.cfg
    6
    zoo.cfg
    7
    指定本地存储数据的路径
    8
    /opt/modules/zookeeper-3.4.5/data/zkData
    9

    10
    启动服务端
    11
    bin/zkServer.sh start
    12

    13
    查看状态
    14
    bin/zkServer.sh status
    15

    16
    启动客户端
    17
    bin/zkCli.sh

    分布式模式
    解压安装包
    2
    tar -zxf zookeeper-3.4.10.tar.gz -C /opt/app/
    3
    修改配置文件
    4
    修改文件名 /conf/zoo-simple.cfg
    5
    zoo.cfg
    6
    指定本地存储数据的路径
    7
    /opt/app/zookeeper-3.4.5/data/zkData
    8
    添加服务端
    9
    server.1=lee01.cniao5.com:2888:3888
    10
    server.2=lee02.cniao5.com:2888:3888
    11
    server.3=lee03.cniao5.com:2888:3888
    12
    /data/zkData
    13
    vi myid
    14
    写入机器编号,1
    15
    分发文件
    16
    scp -r zookeeper-3.4.10/ lee02.cniao5.com:/opt/app/
    17
    scp -r zookeeper-3.4.10/ lee03.cniao5.com:/opt/app/
    18
    修改各自机器编号
    19

    20
    启动服务端
    21
    bin/zkServer.sh start
    22

    23
    查看状态
    24
    bin/zkServer.sh status

    相关文章

      网友评论

        本文标题:笔记:zookeeper分布式协作框架

        本文链接:https://www.haomeiwen.com/subject/sojvxftx.html