Zookeeper

  • 解决单点故障
  • 毫秒级处理
  • 解决分布协调的问题

  • Zookeeper 是 Google 的 Chubby一个开源的实现,是 Hadoop 的分布式   协调  服务  service
  • 包含一个简单的原语集,分布式应用程序可以基于它实现
  • 开源领域 首屈一指 

角色模型
    集群状态(可用/不可用)
    主从分工
攘其外:
    统一视图
        会话session
        数据模型Znode
            目录结构
            节点类型
    事件监听Watcher
原理:
    原子消息广播协议ZAB
        paxos
            journalnode
            sentinel
            zookeeper   ZAB
        zxid ,myid:
        ZXID:epoch+ID
    广播模式原理
    恢复模式原理:无主模型:zab: zxid ,myid
应用场景
    统一命名
    配置管理
    集群管理

  • 大部分分布式应用需要一个主控、协调器或控制器来管理物理分布的子进程(如资源、任务分配等)
  • 目前,大部分应用需要开发私有的协调程序,缺乏一个通用的机制
  • 协调程序的反复编写浪费,且难以形成通用、伸缩性好的协调器
  • ZooKeeper:提供通用的分布式锁服务,用以协调分布式应用
  1. Keepalived监控节点不好管理

  2. Keepalive 采用优先级监控

  3. 没有协同工作

  4. 功能单一

  5. Keepalive可扩展性差

Hadoop,使用Zookeeper的事件处理确保整个集群只有一个NameNode,存储配置信息等.

HBase,使用Zookeeper的事件处理确保整个集群只有一个HMaster,察觉HRegionServer联机和宕机,存储访问控制列表等. 

在conf目录下创建一个配置文件zoo.cfg,
tickTime=2000
dataDir=/Users/zdandljb/zookeeper/data  dataLogDir=/Users/zdandljb/zookeeper/dataLog  clientPort=2181
initLimit=5  syncLimit=2
server.1=server1:2888:3888
server.2=server2:2888:3888  server.3=server3:2888:3888
创建myid文件

tickTime:发送心跳的间隔时间,单位:毫秒

dataDir:zookeeper保存数据的目录。

clientPort:客户端连接 Zookeeper 服务器的端口,Zookeeper  会监听这个端口,接受客 户端的访问请求。

initLimit: 这个配置项是用来配置 Zookeeper 接受客户端(这里所说的客户端不是用户连  接 Zookeeper 服务器的客户端,而是 Zookeeper 服务器集群中连接到 Leader 的  Follower 服务器)初始化连接时最长能忍受多少个心跳时间间隔数。当已经超过 5 个心跳的  时间(也就是 tickTime)长度后 Zookeeper 服务器还没有收到客户端的返回信息,那么表  明这个客户端连接失败。总的时间长度就是 5*2000=10 秒

syncLimit:这个配置项标识 Leader 与 Follower 之间发送消息,请求和应答时间长度,最 长不能超过多少个 tickTime 的时间长度,总的时间长度就是 2*2000=4 秒

server.A=B:C:D:其 中 A 是一个数字,表示这个是第几号服务器;B 是这个服务器的 ip  地址;C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;D 表示的是万一  集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这  个端口就是用来执行选举时服务器相互通信的端口。如果是伪集群的配置方式,由于 B 都是  一样,所以不同的 Zookeeper 实例通信端口号不能一样,所以要给它们分配不同的端口号

zk:主从模式

----------------------------------------------------------------------------------------------------

恢复模式:

  • ZXID
  • MYID

Zookeeper01_必看相关推荐

  1. php thrift 报错,thrift安装遇到的问题以及解决方法(必看篇)

    1. 必须安装boost.最新的稳定版是1.48.0. 1.1.先下载:http://sourceforge.NET/projects/boost/files/boost/1.48.0/ 选择tar. ...

  2. Linux网络编程必看书籍推荐

    首先要说讲述计算机网络和TCP/IP的书很多. 先要学习网络知识才谈得上编程 讲述计算机网络的最经典的当属Andrew S.Tanenbaum的<计算机网络>第五版,这本书难易适中. &l ...

  3. 我用python10年后,我发现学python必看这三本书!

    非常喜欢python 我非常喜欢python,在前面5年里,它一直是我热衷使用并不断研究的语言,迄今为止,python都非常友好并且易于学习! 它几乎可以做任何事,从简单的脚本创建.web,到数据可视 ...

  4. 技术19期:1分钟入门数据治理!必看!【技术篇】

    1分钟入门数据治理!必看![技术篇] 前言: 在进行大数据开发过程中,数据调研和开发规范都是必不可少的.数据调研便于理清数据源之间的关系,梳理出哪些数据是符合当下的业务场景以及确定所要用到的加工口径等 ...

  5. 我用python10年后,我发现学python必看这三本书! 1

    非常喜欢python 我非常喜欢python,在前面5年里,它一直是我热衷使用并不断研究的语言,迄今为止,python都非常友好并且易于学习! 它几乎可以做任何事,从简单的脚本创建.web,到数据可视 ...

  6. java书籍_Java程序员必看的 13 本 Java 书籍!

    原文:Java程序员必看的 13 本 Java 书籍! 作者: java技术栈 关乎于程序员,除了做项目来提高自身的技术,还有一种提升自己的专业技能就是:多!看!书! 毕竟,书是学习的海洋呢!So,J ...

  7. java重要基础知识点_必看 | 新人必看的Java基础知识点大梳理

    原标题:必看 | 新人必看的Java基础知识点大梳理 各位正在认真苦学Java的准大神,在这烈日炎炎的夏季里,老九君准备给大家带来一个超级大的"冰镇西瓜,"给大家清凉一下,压压惊. ...

  8. cad 怎么显示块句柄_新手必看的CAD小技巧,老师傅精选汇总,三分钟教你学习用处多多...

    零基础新手必看的CAD绘图小技巧,这里分享给你,都是老师傅精选汇总,实实在在用得上,希望能够给你带去帮助! PS:其实CAD入门并不难,难在坚持,如果真的想要入这个行业,一定要你坚持哦! 废话不说了直 ...

  9. PHP网站工作流程图,在网站绘制工作流程图的教程分享(打工人必看)

    原标题:在网站绘制工作流程图的教程分享(打工人必看) 每一行.每一业都不是那么简单就能做顺手的,特别是要面对各种人际琐事的人事职员,要是不会一两招实用的办公技巧的话,可能很快便会被淘汰了.其中,学会绘 ...

最新文章

  1. hibernate笔记
  2. python画出心形图-python如何绘制心形
  3. 关于tcp和http
  4. python两个数据表中的对应数据相加
  5. 流式计算新贵Kafka Stream设计详解--转
  6. 百度分享--分享按钮的实现
  7. Python | 程序以字符串长度打印单词
  8. asp.net repeater控件
  9. 在ubuntu上搭建开发环境1---在windows7的基础上在安装ubuntu(双系统)
  10. Linux下输入法切换快捷键设置
  11. ubuntu系统计算机_显卡-性能测试软件
  12. [Java教程]17.实战,趣味猜拳小游戏
  13. sp导出贴图到maya
  14. staf框架_测试自动化以及与STAF / STAX的持续集成
  15. 2009 Q.E.D
  16. ckeditor使用说明
  17. iPhone手机怎么打开开发者模式?iPhone手机如何测试uni-app HBuilder
  18. weblogic打补丁详细步骤(linux)
  19. java 生成正弦波声音_Java错误生成声音正弦波
  20. react报错: Unable to preventDefault inside passive event li ……

热门文章

  1. CodeForces - 1517D Explorer Space(dp)
  2. CodeForces - 507E Breaking Good(二分+贪心)
  3. python遍历文件对象_Python文件常见操作实例分析【读写、遍历】
  4. 启动sqlserver_微软的 SQL Server 你学会了吗?
  5. dnf一天能获得多少黑暗之眼_DNF:千万金币远古遗愿成废铁,95版本完美传说换装武器只需1个月...
  6. 关于C++,Java和Python中的随机数生成法
  7. C++匿名对象调用成员函数
  8. 关于 AfxSocketInit() 的使用
  9. go-zero:开箱即用的微服务框架
  10. docker学习笔记(五)docker实战