~ zookeeper

  • 原理

    • zookeeper是一个具有高可用性的高性能协调服务
    • 模型
      • zookeeper维护着一个具有高可用性的树形层次结构
      • 树节点被称为znode
        • znode可以存储数据

          • ACL

            • 决定谁可以对它执行何种操作
          • 数据访问具有原子性
            • 要么读到所有数据要么读取失败
        • znode通过路径被引用
          • 必须是绝对路径,不支持路径解析
          • 由Unicode字符串构成
          • zookeeper是保留词
            • /zookeeper树用来保存管理信息
        • 类型
          • 短暂znode

            • 会话结束后被删除
            • 不可以有子节点
          • 持久znode
        • 顺序号
          • 递增
          • 用于全局排序
        • 观察
          • znode发生某些变化时,观察机制可以让客户端得到通知。
    • 操作
      • create
      • delete
      • exists
      • getACL,setACL
      • getChildren
      • getData,setData
      • sync
    • 实现
      • standalone
      • replicated mode
        • 复制模式

          • 整个集群被称为集合体

            • 通常包含奇数台机器
          • 确保对znode树的每一个修改都会被复制到集合体中超过半数的机器上。
        • Zab协议
          • 领导选举

            • 所有机器通过选择过程选出一台leader领导者

              • 其他机器被称为跟随者follower
              • 如果领导者出现故障,其余机器会选出另外的领导者,并与之一起继续提供服务。
                • 原领导者故障恢复后会成为一个跟随者。
            • 半数以上(或指定数量)的跟随者已经将状态与领导者同步,则表明这个阶段完成
          • 原子广播
            • 所有的写请求都会被转发给领导者,再由领导者将更新广播给跟随者。
            • 半数以上的跟随者将更新持久化后,领导者才会提交这个更新,然后客户端才会收到一个更新成功的响应。
    • 一致性
      • 每个对znode树的更新都被赋予一个全局唯一的ID,称为zxid

        • 决定了分布式系统的执行顺序
      • 顺序一致性
        • 更新会按其发送顺序被提交。
      • 原子性
      • 第一系统映像
      • 持久性
      • 及时性
    • 会话
      • 会话超时

        • 滴答tick time
        • 服务器越多,会话超时应该设置的越大,连接超时反而越小。
      • 有唯一的ID和密码
    • 状态
      • connecting
      • connected
      • closed
    • 客户端
      • 客户端连接

        • bin/zkCli.sh -server 127.0.0.1:2181
      • 客户端命令
        • ls /
        • ls2
        • get /
  • 安装
    • 单机

      • conf/zoo.cfg

        • tickTime=2000 dataDir=/var/lib/zookeeper clientPort=2181
      • bin/zkServer.sh start
      • 连接zookeeper
        • bin/zkCli.sh -server 127.0.0.1:2181
    • 集群(复制模式)
      • zoo.cfg

        • clientPort=2181
        • dataDir=/home/myhadoop/zk/data
        • server.10=master.hadoop:2888:3888
        • server.11=slave1.hadoop:2888:3888
        • server.12=slave2.hadoop:2888:3888
      • 每台机器分别设置data/myid为其在zoo.cfg下定义的id
        • data

          • myid

            • 10
      • 分别启动
        • bin/skServer.sh start
      • 查看状态
        • bin/zkServer.sh status

zookeeper入门综合概要介绍相关推荐

  1. redis入门综合概要介绍

    redis入门综合概要介绍 概要介绍:个人感觉redis是一个将数据保存在内存的存取工具,类似一个增强的Map,所以存取比较快.数据的存取基本上是set(key,value),get(key)这种ke ...

  2. kafka入门综合概要介绍

    ~ kafka 设计初衷为统一信息收集平台 分布式收集,统一处理 可以实时处理反馈信息 支持大数据 高容错 分布式.分区的.多副本的.多订阅者的日志系统(分布式MQ系统) 消息的发布(publish) ...

  3. hbase入门综合概要介绍

    Hbase 是什么 HDFS上开发的面向列的分布式数据库 依赖于zookeeper 数据模型 表 模式 表的属性 disable离线 enable在线 列族的列表 行 行键 字节数组 行根据行的键值进 ...

  4. 【Zookeeper实战】Zookeeper入门到实战看这篇就够了

    1. 前言 在上一篇[Zookeeper入门]相关概念总结 中已经完美的讲解了 Zookeeper入门 相关概念总结,接下来讲讲ZooKeeper 实战使用. 这篇文章简单给演示一下 ZooKeepe ...

  5. 各种编程语言功能综合简要介绍(C,C++,JAVA,PHP,PYTHON,易语言)

    各种编程语言功能综合简要介绍(C,C++,JAVA,PHP,PYTHON,易语言) 总结 a.一个语言或者一个东西能火是和这种语言进入某一子行业的契机有关.也就是说这个语言有没有解决社会急需的问题. ...

  6. Html快速入门之基本介绍

    Html快速入门之基本介绍 1. Html快速入门之基本介绍 1.1 网页组成 1.2 浏览器内核 1.3 Web标准 1.4 Html概念 1.5 超文本的含义 1.6 Html骨架标签 1.7 H ...

  7. 尚硅谷大数据技术Zookeeper教程-笔记01【Zookeeper(入门、本地安装、集群操作)】

    视频地址:[尚硅谷]大数据技术之Zookeeper 3.5.7版本教程_哔哩哔哩_bilibili 尚硅谷大数据技术Zookeeper教程-笔记01[Zookeeper(入门.本地安装.集群操作)] ...

  8. c++服务器开发 之一 概要介绍

    c++服务器开发 之一 概要介绍 背景 指的是普通的c++服务器开发,不涉及特定的需求,仅涉及需要实现大众功能的系统. 假设读者对c++的基础概念都有所了解. 目前很多这类的培训课程,但是没什么书系统 ...

  9. NLP汉语自然语言处理入门基础知识介绍

    NLP汉语自然语言处理入门基础知识介绍 自然语言处理定义: 自然语言处理是一门计算机科学.人工智能以及语言学的交叉学科.虽然语言只是人工智能的一部分(人工智能还包括计算机视觉等),但它是非常独特的一部 ...

最新文章

  1. Lesson11 vSphere VUM
  2. 性能测试总结(二)---测试流程篇
  3. jQuery控制表格垂直滚动条
  4. Apache Camel 2.18 –即将推出的功能的亮点
  5. 怎样用CDN防篡改、抗攻击、控内容?一份CDN安全指南请查收
  6. HCL打开显示当前系统用户怎么解决_Mac键盘突然停止响应怎么办?
  7. 光大代付支付有问题解决思路
  8. linux下eclipse找不到插件位置,Linux 下安装Eclipse时所遇到的问题
  9. 代码混淆后如何快速定位错误
  10. 安装Oracle11gR2先决条件检查失败的详细解决处理过程
  11. ABAP 练习用航班数据
  12. 深入浅出设计模式 ------ Abstract Factory(抽象工厂)
  13. vue 实现图片预览
  14. 2021-10-19 资源收藏
  15. 交互式电子白板有哪些功能
  16. C#:定义一抽象类Pet(宠物)类,作为基类
  17. 一招解决谷歌浏览器打不开wiki问题
  18. 自动驾驶:道路交通领域的范式革命,交通强国建设的引擎
  19. 中石化卖咖啡报:产品体验报告 | 网易云音乐,体验一个“社交+音乐+直播”的动听世界
  20. MACD指标为什么不灵了?试试QMACD

热门文章

  1. Python入门到精通三天速成第三讲——多重继承
  2. leetcode力扣62. 不同路径
  3. resultJP在Java中_java result是如何直接变为对象的
  4. Computer science 概念汇总
  5. Typora导出PDF时一直处于正在导出的状态
  6. TensorFlow2.0:索引和切片(2)
  7. 机器学习第三回——逻辑回归 (Logistic Regression)
  8. [APIO2017]商旅——分数优化+floyd+SPFA判负环+二分答案
  9. 机器学习1/100天-数据预处理
  10. c语言代码re通常什么错误,C语言,realloc动态内存申请,出现报错double free or corruption (!prev)...