• 3、ZooKeeper架构


    ZooKeeper总体架构

    应用使用ZooKeeper客户端使用ZooKeeper服务。ZooKeeper客户端负责和ZooKeeper集群的交互。ZooKeeper集群可以有两种模式:standlone模式和quorum模式。处于standlone模式的ZooKeeper集群还有一个独立运行的ZooKeeper节点。处于quorum模式的ZooKeeper集群包含多个ZooKeeper节点

    Session

    ZooKeeper客户端库和ZooKeeper集群中的某个节点创建一个session。客户端可以主动关闭session。另外如果ZooKeeper节点没有在session关联的timeout时间内收到客户端的消息的话,ZooKeeper节点也会关闭session。另外ZooKeeper客户端库如果发现链接的ZooKeeper出错,会自动和其他ZooKeeper节点建立连接

    Quorum模式

    处于Quorum模式的ZooKeeper集群包含多个ZooKeeper节点。下图的ZooKeeper集群有3个节点,其中节点1是leader节点,节点2和节点3是follower节点。leader节点可以处理读写请求,follower只可以处理读请求。follower在接到写请求时会把写请求转发给leader来处理

    数据一致性

    全局可线性化写入:先到达leader的写请求会被先处理,leader决定写请求的执行顺序

    客户端FIFO顺序:来自给定客户端的请求按照发送顺序执行

    3节点Quorum集群==》3个配置文件,dataDir和clientPort配置项要配置不同的值

    server.1=127.0.0.1:3333:3334==》3333是用于quorum通信的端口,3334是用于leader选举的端口

    还要为每个ZooKeeper节点创建myid文件

    启动集群:

    zkServer.sh start-foreground src/main/resources/quorum/zoo-quorum-node1.cfg

    start-foreground选项zkServer.sh在前台运行,把日志直接打到console。如果把日志打到文件的话,这三个zkServer.sh把日志打到同一个文件

    启动客户端使用三节点的集群:zkCli.sh -server 127.0.0.1:2181, 127.0.0.1:2182, 127.0.0.1:2183

  • 相关阅读:
    实验四 决策树算法及应用
    实验三 朴素贝叶斯算法及应用
    实验二 K-近邻算法及应用
    实验一 感知器及其应用
    园区网核心、防火墙、边界出口冗余实验配置
    PNETLab模拟器部署及使用配置
    基于RPS开发模式的可视化设计解决方案
    Python学习手册《Learning Python》
    【转】Windows 64bit下Python环境配置与集成IDE PyCharm
    时间复杂度完美例子---数组最大子序列和
  • 原文地址:https://www.cnblogs.com/liushoudong/p/13335017.html
Copyright © 2020-2023  润新知