`
zhangwd118
  • 浏览: 3665 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

zookeeper入门知识

阅读更多

简介

       ZooKeeper是Hadoop的正式子项目,它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

Zookeeper是Google的Chubby一个开源的实现,是高有效和可靠的协同工作系统,Zookeeper能够用来leader选举,配置信息维护等,在一个分布式的环境中,需要一个Master实例或存储一些配置信息,确保文件写入的一致性等. 
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,包含一个简单的原语集,是Hadoop和Hbase的重要组件。 提供Java和C的接口。

原理

ZooKeeper是以Fast Paxos算法为基础的,paxos算法存在活锁的问题,即当有多个proposer交错提交时,有可能互相排斥导致没有一个proposer能提交成功,而Fast Paxos作了一些优化,通过选举产生一个leader,只有leader才能提交propose,具体算法可见Fast Paxos。因此,要想弄懂ZooKeeper首先得对Fast Paxos有所了解。[4]
ZooKeeper的基本运转流程:
1、选举Leader。
2、同步数据。
3、选举Leader过程中算法有很多,但要达到的选举标准是一致的。
4、Leader要具有最高的zxid。
5、集群中大多数的机器得到响应并follow选出的Leader。
ZooKeeper代码版本中,提供了分布式独享锁、选举、队列的接口,代码在zookeeper-3.4.3\src\recipes。其中分布锁和队列有Java和C两个版本,选举只有Java版本

特点

在Zookeeper中,znode是一个跟Unix文件系统路径相似的节点,可以往这个节点存储或获取数据.如果在创建znode时Flag设置 为EPHEMERAL,那么当这个创建这个znode的节点和Zookeeper失去连接后,这个znode将不再存在在Zookeeper 里.Zookeeper使用Watcher察觉事件信息,当客户端接收到事件信息,比如连接超时,节点数据改变,子节点改变,可以调用相应的行为来处理数 据.Zookeeper的Wiki页面展示了如何使用Zookeeper来处理事件通知,队列,优先队列,锁,共享锁,可撤销的共享锁,两阶段提交.
那么Zookeeper能作什么事情呢,简单的例子:假设我们我们有个20个搜索引擎服务器(每个负责总索引中的一部分的搜索任务)和一个 总服务器(负责向这20个搜索引擎的服务器发出搜索请求并合并结果集),一个备用的总服务器(负责当总服务器宕机时替换总服务器),一个web的 cgi(向总服务器发出搜索请求).搜索引擎的服务器中的15个服务器提供搜索服务,5个服务器正在生成索引.这20个搜索引擎的服务器经常要让正在 提供搜索服务的服务器停止提供服务开始生成索引,或生成索引的服务器已经把索引生成完成可以搜索提供服务了.使用Zookeeper可以保证总服务器自动 感知有多少提供搜索引擎的服务器并向这些服务器发出搜索请求,备用的总服务器宕机时自动启用备用的总服务器
 

几篇不错的文章: http://agapple.iteye.com/blog/1111377

 

 

分享到:
评论

相关推荐

    淘宝网Zookeeper入门

    介绍ZooKeeper服务的基础知识,并详细了解了数据模型及其属性

    ZooKeeperStart:zookeeper入门实例

    ZooKeeperStart系统环境jdk版本:jdk1.8zookeeper版本: 3.4.11操作系统版本:Ubuntu 5.4.0zookeeper常见知识权限create:创建子节点read:获取节点/子节点write:设置节点数据delete:删除子节点admin:设置权限打开...

    Zookeeper学习资源和笔记(附代码)

    适合初学入门,知识巩固。涵盖安装配置、命令操作、Java API操作、事件监听、分布式锁、集群搭建等知识

    史上最全面的hadoop入门视频教程

    第一章 大数据基础和Zookeeper入门 第二章 Zookeeper操作和Hadoop环境搭建 第三章 HDFS操作 第四章 HDFS的JavaAPI操作和MapReduce入门 第五章 MapReduce的WordCount案例和分区 第六章 MapReduce的排序和序列化 第七...

    hadoop入门介绍

    一个hadoop汇报用的ppt,里面有hadoop,hbase,zookeeper,spark的介绍,有源代码的截图和说明,适合没有什么基础的人,都是入门级别的知识,版本是hadoop2.7.3,hbase1.3.1,spark2.1.0

    Java分布式Elastic-Job和Quartz定时任务课程(1.6G)

    9_前期准备-Zookeeper.mp4 10_知识点检测与小结.mp4 11_Elastic-Job框架介绍.mp4 12_初识Elastic-Job.mp4 13_急速入门Simple-1.mp4 14_急速入门Simple-2.mp4 15_急速入门dataflow.mp4 16_急速入门script.mp4 17_知识...

    大数据入门必学ppt教程

    大数据入门全套必学讲义、老师讲的很好就分享了,有hadoop、MR、YARN、zookeeper、spark、kafka等等

    Nginx从入门到精通,这篇你绝对不能错过

    文章目录推荐阅读什么是Nginx?web 服务器正向代理反向代理负载均衡负载均衡调度算法动静分离Nginx常用...一文深入理解Zookeeper核心知识,2020年你值得拥有 深入理解Dubbo核心概念,这篇文章你绝对不能错过 微服务入门,

    从传统的 SSM 项目改造成基于 Spring Boot + Dubbo + Zookeeper 的微服务架构项目

    SSM框架学习宝典:入门、进阶、精通,全方位代码项目资 一、探索SSM的无限可能 SSM(Spring + Spring MVC + MyBatis)框架作为Java开发中的黄金组合,为开发者提供了强大的技术支持和丰富的功能。本系列资料将带您...

    Java-Web:整理一套java web知识体系,从java入门到框架应用等

    发简历找工作的时候,面试官回了一句话: nosql,redis,主从复制,集群,哨兵,redis的rdb和aof,以及集群中增加删除主从节点都会吗。我对于redis的认识仅限于缓存的使用上,其他的什么都不清楚。...集合的知识点整

    世上最全的java面试复习知识汇总,从基础到高阶,从八股文到实践,从入门到入土

    Zookeeper Kafka RabbitMQ 数据库 一致性算法 JAVA 算法 Spark 集合 多线程并发 设计模式 负载均衡 数据结构 加密算法 分布式缓存 机器学习 云计算 JVM Hbase MongoDB Cassandra Hadoop Storm YARN

    ActiveMQ从入门到精通(三)

    本文来自于jianshu,文章介绍了采用Zookeeper+LevelDB+ActiveMQ的方式进行ActiveMQ集群的相关知识。这是ActiveMQ系列的最后一篇文章,主要是关于ActiveMQ集群,这里采用的方式是:Zookeeper+LevelDB+ActiveMQ。前面2...

    hadoop学习路线

    1、对hadoop、zookeeper、hbase、hive、sqoop、flume、pig的理论体系有个系统掌握,对核心知识能够掌握;阅读市面上的各种图书和各种文章不再有困难; 2、能够在linux环境搭建hadoop、hbase等的伪分布和分布模式,...

    大数据知识仓库涉及到数据仓库建模、实时计算、大数据、数据中台、系统设计、Java、算法等代码

    4、存储相关,包含rocksdb、Hbase、BookKeeper、Zookeeper等 5、Hadoop生态圈的学习笔记,主要记录HDFS、MapReduce、Yarn相关读书笔记及源码分析等 5.1 HDFS Hadoop快速入门 HDFSOverView Hadoop广义生态系统 Hadoop...

    Hadoop大数据零基础入门课程

    Hadoop2.X大数据零基础入门课程,主要包括HDFS、MapReduce、ZooKeeper、Kafka等框架理论知识、集群搭建、操作实战等。

    大数据框架入门-hadoop(基于VMware的linux环境搭建/hadoop完全分布式部署/hadoop底层原理讲解)

    下载学习本课程资料: ...2.您将大致了解hadoop基础原理知识 适用人群: 掌握基础编程语言(有相关的编程经验的话更好)的对于大数据感兴趣的大数据入门初学者 资源文件的内容: 1.相关课件 2.专业讲师的视频教学

    Kafka特性知识讲解.pptx

    重点讲解Kafka概述、应用场景、体系结构...Kafka作为一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景。

    java8源码-Blog:个人博客,知识积累!

    《Redis入门指南》(第2版) 《Redis实战》 《从Paxos到Zookeeper分布式一致性原理与实践》 《Kafka技术内幕:图文详解Kafka源码设计与实现》 《MySQL技术内幕:InnoDB存储引擎》(第2版) 关注 (推荐指数:★★★...

Global site tag (gtag.js) - Google Analytics