zookeeper系列之二—zookeeper历史

Zookeeper是什么?

Zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby的一个开源版本。它是为分布式应用提供一致性服务的软件,提供的功能包括:配置服务、命名服务、分布式同步、组服务等。

Zookeeper目标?

Zookeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

Zookeeper原理?

Zookeeper是以Fast Paxos算法为基础的,paxos算法存在活锁的问题,即当有多个proposer交错提交时,有可能互相排斥导致没有一个proposer能提交成功,而Fast Paxos作了一些优化,通过选举产生一个leader,只有leader才能提交propose,具体算法可见Fast Paxos。因此,要想弄懂Zookeeper首先得对Fast Paxos有所了解。

Zookeeper的基本运转流程:

1、选举leader。

2、同步数据。

3、选举Leader过程中算法有很多,但要达到的选举标准是一致的。

4、Leader要具有最高的zxid。

5、急群众大多数的机器得到相应并follow选出的Leader。

Zookeeper特点?

在Zookeeper中,znode是一个跟Unix文件系统路径相似的节点,可以往这个节点存储或获取数据。如果在chuang

时间: 2025-01-11 21:22:19

zookeeper系列之二—zookeeper历史的相关文章

ZooKeeper系列之二:Zookeeper常用命令

ZooKeeper系列之二:Zookeeper常用命令 http://blog.csdn.net/xiaolang85/article/details/13021339 ZooKeeper服务命令: 在准备好相应的配置之后,可以直接通过zkServer.sh 这个脚本进行服务的相关操作 1. 启动ZK服务:       sh bin/zkServer.sh start 2. 查看ZK服务状态: sh bin/zkServer.sh status 3. 停止ZK服务:       sh bin/z

ZooKeeper系列之二:Zookeeper应用介绍与安装部署大神必学

前言最近有很多粉丝反映怎么学好java?Zookeepr是什么? java开发技术不是一两天就能学好的,Zookeepr也是一样的道理,关键还得看你怎么去学,跟谁去学,俗话说的好师傅领进门,修行靠个人,这个不是短时间类所能完成的任务,有想法的上方关注,下方留言"学习"我教你!1 Zookeeper概述#ZooKeeper是一个为分布式应用所设计的分布的.开源的协调服务,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,简化分布式应用协调及其管理的难度,提供高性能的分布式服务.Zo

【ZooKeeper系列】3.ZooKeeper源码环境搭建

前文阅读: [ZooKeeper系列]1.ZooKeeper单机版.伪集群和集群环境搭建 [ZooKeeper系列]2.用Java实现ZooKeeper API的调用 在系列的前两篇文章中,介绍了ZooKeeper环境的搭建(包括单机版.伪集群和集群),对创建.删除.修改节点等场景用命令行的方式进行了测试,让大家对ZooKeeper环境搭建及常用命令行有初步的认识,也为搭建ZooKeeper的开发环境.生产环境起到了抛砖引玉的作用.也介绍了用Java来实现API的调用,包括节点的增.删.改.查.

zookeeper系列之:zookeeper简介浅谈

一.zookeeper的定义 打开zookeeper官网,赫然一行大字,写着:"Apache ZooKeeper致力于开发和维护实现高度可靠的分布式协调的开源服务器".什么意思呢?就是Apache ZooKeeper的目标是开发和维护开源服务器,这服务器是干什么的呢?是做分布式协调的.这服务器的特点是什么呢?是高度可靠的.关键就是高度可靠,不用去验证,也不用怀疑zookeeper的高度可靠性,搜索应用界的大佬solr和大数据服务界的大佬Hadoop就是使用zookeeper提供集群管理

Zookeeper系列三:Zookeeper客户端的使用(Zookeeper原生API如何进行调用、ZKClient、Curator)

一.Zookeeper原生API如何进行调用 准备工作: 首先在新建一个maven项目ZK-Demo,然后在pom.xml里面引入zk的依赖 <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.4.10</version> </dependency> 1. 连接zk并

ZooKeeper系列3:ZooKeeper命令、命令行工具及简单操作

问题导读1.ZooKeeper包含哪些常用命令?2.通过什么命令可以列出服务器 watch 的详细信息?3.ZooKeeper包含哪些操作?4.ZooKeeper如何创建zookeeper? 常用命令 ZooKeeper 支持某些特定的四字命令字母与其的交互.它们大多是查询命令,用来获取 ZooKeeper 服务的当前状态及相关信息.用户在客户端可以通过 telnet 或 nc 向 ZooKeeper 提交相应的命令. ZooKeeper 常用四字命令见下表 1 所示: 表 1 : ZooKee

ZooKeeper系列1:ZooKeeper的配置

问题导读:1.zookeeper有哪些配置文件?2.zookeeper最低配置需要哪些配置项?3.zookeeper高级配置需要配置哪些项? ZooKeeper 的功能特性通过 ZooKeeper 配置文件来进行控制管理( zoo.cfg 配置文件). ZooKeeper 这样的设计其实是有它自身的原因的.通过前面对 ZooKeeper 的配置可以看出,对 ZooKeeper 集群进行配置的时候,它的配置文档是完全相同的(对于集群伪分布模式来说,只有很少的部分是不同的).这样的配置方使得在部署Z

ZooKeeper系列4:ZooKeeper API简介及编程

问题导读: 1.ZooKeeper API 共包含几个包? 2.如何使用ZooKeeper API 创建zookeeper应用程序? 1)ZooKeeper API 简介 ZooKeeper API 共包含 5 个包,分别为: org.apache.zookeeper , org.apache.zookeeper.data ,org.apache.zookeeper.server , org.apache.zookeeper.server.quorum 和org.apache.zookeeper

storm基础系列之二----zookeeper的作用

在storm集群中,我们常常使用zookeeper作为协调者.那么具体发挥的是什么作用呢? 概括来说,zookeeper是nimbus和supervisor进行交互的中介.具体来说有二: 1.nimbus通过在zookeeper上写状态信息来分配任务.通俗的讲就是写哪些supervisor执行哪些task的对应关系.而supervisor则通过从zookeeper上读取这些状态信息,来领取任务. 2.supervisor.task会发送心跳到zookeeper,使得nimbus可以监控整个集群的