研究Zookeeper的原理(一)
阅读声明:以下内容是结合网上材料所写个人理解,如有不当,欢迎大家指正~~~谢谢
一、Zookeeper介绍
zookeeper,见名知意嘛,zoo动物园,keeper保持者、管理员,结合起来就是动物管理员,为什么这么说呢?不放大家可以看一看目前大数据技术:比如Hadoop的logo是一个黄色的大象、HBase的log像是一个鲸鱼、Hive的logo就比较奇特了,是蜜蜂的身体与Hadoop大象的象头的结合体,等等等。由此我们看来大数据技术就像是一个动物园,而zookeeper就像是一个动物园的管理员,它的logo就更表明了它的含义。
说了那么多闲话,下面开始进入正题,看Apache官网给它的定义:
ZooKeeper是一个分布式的协调服务框架,ZooKeeper可以解决分布式中常见的问题:集群管理、统一命名服务、信息配置管理、分布式锁等。
二、ZooKeeper的基本概念
学好一门技术,首先我们得对这门技术的原理特别清楚,下面我们进入ZooKpper的结构,如下:

1)ZooKeeper中只有一个根节点/,每个节点都可以拥有子节点,每个节点称为zNode节点,同时也可以存储数据。
2)多个节点形成zNode树,存储父子之间关系及节点信息
3)zNode树是维系在内存中,以供快速查询及快速响应
4) 操作节点:都是相对于根节点来说,例如ls /zk_1
5)节点类型:
①普通持久节点:create /test01 123(当创建此节点的客户端线程挂掉后,该节点依然存储)
②普通临时节点:create -e /test01 123(当创建此节点的客户端线程挂掉后,该节点会被删除)
③顺序持久节点:create -s /test01 123(顺序指的是在指定的路径下拼上一个递增的顺序号)
④临时持久节点:create -e -s /test01 123(当创建此节点的客户端线程挂掉后,该节点会被删除,顺序指的是在指定的路径下拼上一个递增的顺序号)
这里额外说明,临时节点的作用:管理集群服务的节点。

三、ZooKeeper的常用命令
服务端的常用命令

客户端的常用命令
四、Zookeeper的应用场景
①集群管理

②集群统一的配置信息管理

③ZooKeeper应用于集群Master的监控以及主备切换

④ZooKeeper应用于集群中统一的命名

⑤ZooKeeper应用于分布式锁
(这里我的理解不够深,下次补充Redis应用于分布式锁)
研究Zookeeper的原理(一)的更多相关文章
- 研究Zookeeper的原理(二)
阅读声明:以下内容是结合网上材料及工作内容所写的个人理解,如有不当,欢迎大家指正~~~谢谢啦 一.ZooKeeper的选举机制.FailOver机制 我们知道ZooKeeper在分布式环境中协调服务, ...
- zookeeper选举原理
zookeeper的领导者选举和原子广播 目录: 1.工作原理概述 2.Fast Leader选举算法(领导者选举) 3.Leader与Follower同步数据(原子广播) ...
- zookeeper工作原理、安装配置、工具命令简介
1.Zookeeper简介 Zookeeper 是分布式服务框架,主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务.状态同步服务.集群管理.分布式应用配置项的管理等等. 2.zo ...
- Zookeeper 3、Zookeeper工作原理(详细)
1.Zookeeper的角色 » 领导者(leader),负责进行投票的发起和决议,更新系统状态 » 学习者(learner),包括跟随者(follower)和观察者(observer),follow ...
- [转载] zookeeper工作原理、安装配置、工具命令简介
转载自http://www.cnblogs.com/kunpengit/p/4045334.html 1 Zookeeper简介Zookeeper 是分布式服务框架,主要是用来解决分布式应用中经常遇到 ...
- Zookeeper 3、Zookeeper工作原理(转)
1.Zookeeper的角色 » 领导者(leader),负责进行投票的发起和决议,更新系统状态 » 学习者(learner),包括跟随者(follower)和观察者(observer),follow ...
- 学习Zookeeper之第3章Zookeeper内部原理
第 3 章 Zookeeper 内部原理 3.1 选举机制 3.2 节点类型 3.3 stat 结构体 3.4 监听器原理 1)监听原理详解 2)常见的监听 3.5 写数据流程 第 3 章 Z ...
- 【转载】深入研究Windows内部原理绝对经典的资料
原文:深入研究Windows内部原理绝对经典的资料 另一篇资料:深入研究Windows内部原理系列 (为了方便大家下,我打包了放在一下地址: 1-6:http://download.csdn.net/ ...
- 分布式协调服务ZooKeeper工作原理
分布式协调服务ZooKeeper工作原理 原创 2016-02-19 杜亦舒 性能与架构 性能与架构 性能与架构 微信号 yogoup 功能介绍 网站性能提升与架构设计 大数据处理框架Hadoop.R ...
随机推荐
- js的全局变量与var关键字
var a = '1'; 如果定义在函数外,就是全局变量.如果定义在函数内,就不是全局变量,只能在函数内调用. 但是:如果在函数内定义变量,没有加var关键字,默认表示该变量是全局的.
- docker 初识1
学习网址 https://git.oschina.net/yangllsdev/docker-training https://docs.docker.com/engine/installation/ ...
- auto_prt的VS版本源码剖析
通过对VC版本的auto_ptr的源代码得知VC版本还有一点小缺陷,又对VS版本的auto_ptr做了一些剖析,具体代码和注释如下: //假设全局pa2都是用pa1来构造 //如:pa2(pa1).p ...
- 【代码审计】seacms 前台Getshell分析
一.漏洞分析 漏洞触发点search.php 211-213行 跟进parseIf 函数 ./include/main.class.php 这里要注意 3118行的位置,可以看到未做任何处理的eval ...
- PHP获取用户的真实IP地址,非代理IP
function getClientIP(){ global $ip; if(getenv("HTTP_CLIENT_IP")){ $ip = getenv("HTTP_ ...
- cJson 常见用法
cJson是一个非常轻量级的JSON数据解析和构建的oss. 可以很容易的的在C代码中构建一个JSON格式的字符串.也可以将JSON字符串转成cJson中定义的cJson object. 通常用在,手 ...
- winform datagridview 同步滚动
//首先添加 Scroll事件//同步滚动 private void dgYY_Scroll(object sender, ScrollEventArgs e) { ) { dgFee.FirstDi ...
- 使用jenkins 实现 .net core项目自动发布到 docker
在Docker内运行Jenkins pull镜像 docker pull jenkins/jenkins:lts Dockerfile FROM jenkins/jenkins:lts USER r ...
- 基于Aspectj表达式配置的Spring AOP
AOP(Aspect-Oriented Programming, 面向切面编程):是一种新的方法论, 是对传统OOP(Object-Oriented Programming, 面向对象编程)的补充. ...
- 「JSOI2015」最小表示
「JSOI2015」最小表示 传送门 很显然的一个结论:一条边 \(u \to v\) 能够被删去,当且仅当至少存在一条其它的路径从 \(u\) 通向 \(v\) . 所以我们就建出正反两张图,对每个 ...