Zookeeper框架
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。本专栏主要从Zookeeper技术内幕和原理的角度深入Zookeeper内核。
Master.TJ
https://github.com/fengruotj
展开
-
Zookeeper分布式一致性原理(十一):Zookeeper在JStorm中应用
Storm 是Twitter开源的一个高容错的分布式实时计算系统,而JStorm是阿里巴巴集团中间件团队在Storm基础上改造和优化的一个分布式实时计算引擎,它使用Java语言开发。JStorm是一个类似与Hadoop MapReduce的分布式计算系统,用户按照指定的接口编写一个任务程序,然后将这个任务程序提交给Jstorm系统,Jstorm系统会复杂7*24小时运行并调度该任务。在运行过程中...原创 2019-01-20 14:23:13 · 901 阅读 · 1 评论 -
Zookeeper分布式一致性原理(十):Zookeeper在大型分布式系统的应用
1. Hadoop在Hadoop中,ZooKeeper主要用于实现HA(High Availability),这部分逻辑主要集中在Hadoop Common的HA模块中,HDFS的NameNode与YARN的ResourceManger都是基于此HA模块中,HDFS的NameNode与YARN的ResourceManger都是基于此HA模块来实现自己的HA功能的。同时,在YARN中又特别提供了Z...原创 2019-01-19 21:37:52 · 1013 阅读 · 0 评论 -
Zookeeper分布式一致性原理(九):Zookeeper分布式应用
1. Master选举在分布式系统中,Master往往用来协调集群中其他系统单元,具有对分布式系统状态变更的决定权,如在读写分离的应用场景中,客户端的写请求往往是由Master来处理,或者其常常处理一些复杂的逻辑并将处理结果同步给其他系统单元。利用Zookeeper的强一致性,能够很好地保证在分布式高并发情况下节点的创建一定能够保证全局唯一性,即Zookeeper将会保证客户端无法重复创建一个已...原创 2019-01-19 20:23:34 · 734 阅读 · 0 评论 -
Zookeeper分布式一致性原理(八):Zookeeper典型应用场景
1. 简介Zookeeper是一个高可用的分布式数据管理和协调框架,并且能够很好的保证分布式环境中数据的一致性。在越来越多的分布式系统(Hadoop、HBase、Kafka)中,Zookeeper都作为核心组件使用。典型应用场景数据发布/订阅负载均衡命名服务分布式协调/通知集群管理Master选举分布式锁分布式队列2. 数据发布/订阅数据发布/订阅系统,即配置中心。需要...原创 2019-01-19 20:21:21 · 937 阅读 · 0 评论 -
Zookeeper分布式一致性原理(七):Curator客户端
1. Curator简介Curator是Netfix公司开源的一套Zookeeper客户端。Curator解决了很多Zookeeper客户端非常底层的细节开发工作,包括重连、反复注册Watcher和NodeExistsException异常等。目前已经成为Apache的顶级项目,是全世界范围内使用最广泛的Zookeeper客户端Curator Maven依赖 <!-- https:/...原创 2019-01-18 15:07:58 · 769 阅读 · 0 评论 -
Zookeeper分布式一致性原理(六):Zookeeper开源客户端zkClient
zkClient 是GitHub上的一个开源Zookeeper客户端项目,是由Datameer的工程师Stefan和Groschupf和PeteVoss一起开发的。zkClient在Zookeeper原生的API接口之进行了包装,是一个简易的Zookeeper客户端。同时,zkClient在内部实现了诸如Session超时重连,Watcher反复注册等功能,使得Zookeeper客户端的繁琐的细节...原创 2019-01-16 19:32:22 · 558 阅读 · 0 评论 -
Zookeeper分布式一致性原理(五):Zookeeper-Java-API
1. 部署与运行ZK文档 http://zookeeper.apache.org/doc/r3.4.13/zookeeperStarted.htmlZK下载 https://www.apache.org/dyn/closer.cgi/zookeeper/2. 客户端脚本运行 zkCli.sh连接到Zookeeper集群2.1 创建使用create命令创建一个Znode节点,用法...原创 2019-01-16 09:03:25 · 599 阅读 · 0 评论 -
Zookeeper分布式一致性原理(四):Zookeeper简介
zookeeper是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它实现数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、master选举、分布式锁和分布式队列等。1. Zookeeper 介绍Zookeepr是一个开源你代码的分布式协调服务,由知名互联网公司雅虎创建,时Google Chubby的开源实现。Zookeeper的设计目标时将那些复杂且容易出错的分布式...原创 2019-01-14 21:22:24 · 2781 阅读 · 0 评论 -
Zookeeper分布式一致性原理(三):Chubby分布式锁服务
1. ChubbyGoogle Chubby 是一个大名鼎鼎的分布式锁服务,GFS和Big Table等大型系统都用他来解决分布式协作、元数据存储和Master选择等一系列与分布式锁服务相关的问题。Chubby的底层一致性实现就是以Paxos算法为基础的。1.1 概述Chubby是一个面向松耦合分布式系统的锁服务,通常用于为一个由大量小型计算机构成的松耦合分布式系统提供高可用的分布式锁服务。...原创 2019-01-14 16:35:23 · 2609 阅读 · 0 评论 -
Zookeeper分布式一致性原理(二):一致性协议
为了解决分布式一致性问题,在长期的研究过程中,提出了一大批经典的一致性协议和算法,其中最著名的就是2PC和3PC以及Paxos算法了。1. 2PC和3PC在分布式系统中,每个节点都明确知道自己事务操作的成功或失败,但无法获取其他分布式节点的操作结果。因此当一个事务需要跨节点进行事务操作时,需要引入协调者(Coordinator)组件来统一调度所有分布式节点的执行逻辑,这些被调度的节点称为参与者...原创 2019-01-14 11:08:17 · 808 阅读 · 0 评论 -
Zookeeper分布式一致性原理(一):分布式架构
分布式一致性问题在分布式系统中一个需要解决的重要问题就是数据的复制问题。分布式系统对于数据复制需求一般都来自以下两个原因:为了提高系统地可用性,以防止单点故障引起的系统不可用。提高系统地整体性能,通过负载均衡技术,能够让分布在不同地方的数据副本都能够为用户提供服务数据一致性就是指对一个数据副本进行更新的时候,必须能够更新其他的副本,否则副本之间的数据就将不一致。然而副本之间的数据不...原创 2019-01-14 10:28:51 · 822 阅读 · 0 评论