学习zookeer的一些摘抄,书籍来自zookeeper分布式协作
-
读《分布式一致性原理》zookeeper运维
摘要:1.配置详解 1.1基本配置 基本参数包括clientPort,dataDir和tickTime 1.2高级配置 下面我们再来看看zookeeper中一些高级配置参数的配置实用 2.四字命令 我们曾经讲到使用stat命令来验证zookeeper服务器是否启动成功,这里stat命令就是zookeepe
阅读全文
-
读《分布式一致性原理》会话
摘要:会话状态 在zookeeper客户端与服务端成功完成连接创建后,就建立了一个会话。zookeeper会在整个运行期间的生命周期中,会在不同 的会话状态间进行切换,这些状态一般,这些状态一般可以分为CONNECTING,CONNECTED,RECONNECTING,RECONNECTED 和CLOSE
阅读全文
-
读《分布式一致性原理》系统模型
摘要:在本节中,我们先从数据模型,节点特性,版本,watcher和ACL五个方面来了解zookeeper系统模型。 数据模型 事务ID 狭义的事务通常指的是数据库事务,,一般包括一系列对数据库有序的读写操作,这些数据库事务所具有的ACID特性, 即原子性,一致性,隔离性,持久性。 在zookeeper中,
阅读全文
-
读《分布式一致性原理》CURATOR客户端3
摘要:分布式锁 在分布式环境中,为了保证数据的一致性,经常在程序运行的某个运行点。需要进行同步控制。 上面这个程序借助Curator来实现了一个简单的分布式锁。其核心接口如下: 工具 curator也提供了了很多的工具类,其中用的最多的就是zkPath和EnsurePath。 ZKPaths ZKPath
阅读全文
-
读《分布式一致性原理》CURATOR客户端
摘要:创建会话 使用curator客户端创建会话和其它客户端产品有很大不同 1.使用CuratorFrameworkFactory这个工厂类的两个静态方法来创建一个客户端: 2.通过调用CuratorFramework的start()方法来启动会话 在重试策略上,Curator通过一个接口来让用户实现自定
阅读全文
-
读《分布式一致性原理》JAVA客户端API操作3
摘要:更新数据 客户端可以通过zookeeper的API来更新一个节点的数据内容,有如下两个接口: 更新数据的接口较为简单明了。我们重点来看下方法中的version参数。version参数是指定节点的数据版本。表明本次更新是针对指定版本进行的。 《java并发编程实践》一书提到,在现代的绝大数计算机处理器
阅读全文
-
读《分布式一致性原理》JAVA客户端API操作2
摘要:创建节点 通过客户端API来创建一个数据节点,有一下两个接口: 这两个接口分别是同步和异步的方式创建节点 需要注意的是无论是同步还是异步创建节点,zookeeper都不支持递归创建,即在不存在父节点的情况下创建一个子节点 。另外如果一个节点已经存在了,那么再创建同名节点时会抛出异常:NodeExis
阅读全文
-
读《分布式一致性原理》JAVA客户端API操作
摘要:创建会话 客户端可以通过创建一个Zookeeper实例来连接服务器。4种构造方法如下 注意,zookeeper客户端和服务端会话建立是一个异步的过程,也是就是说在程序中构造zookeeper方法初始化方法执行完后 会立即返回,在大多数情况下此时并没有真正的建立一个可用的会话,此时会话正处于CONne
阅读全文
-
读<分布式一致性原理>初识zookeeper
摘要:zookeeper是什么 zookeeper是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它实现诸如:数据发布/订阅,负载均衡,命名服务,分布式协调/通知 ,集群管理,Master选举,分布式锁和分布式队列等功能。zookeeper可以保证如下分布式一致性特性。 顺序一致性 从同一个
阅读全文
-
获取管理权
摘要:现在我们有了会话,我们的Master程序需要获得管理权,虽然现在我们只有一个主节点,但我们还是要小心仔细。我们需要运行多个进程,以便在活动主节点发生故障后,可以有进程接替主节点。为了确保同一时间只有一个主节点进程出于活动状态,我们使用ZooKeeper来实现简单的群首选举算法(在2.4.1节中所描述
阅读全文
-
开始使⽤ZooKeeper的API
摘要:在之前的章节中,我们使用zkCli工具介绍了ZooKeeper的基本操作。从本章开始,我们将会看到在应用中如何通过API来进行操作。首先介绍一下如何使用ZooKeeper的API进行开发,展示如何创建会话,实现监视点(watcher)。我们还是从主-从模式例子开始进行编码 1.1建立ZooKeepe
阅读全文
-
ZooKeeper与仲裁模式
摘要:为了让服务器之间可以通信,服务器间需要一些联系信息。理论上,服务器可以使用多播来发现彼此,但我们想让ZooKeeper集合支持跨多个网 络而不是单个网络,这样就可以支持多个集合的情况。 每一个server.n项指定了编号为n的ZooKeeper服务器使用的地址和端口号。每个server.n项通过冒号
阅读全文
-
了解zookeeper
摘要:ZooKeeper操作和维护多个小型的数据节点,这些节点被称为znode,采用类似于文件系统的层级树状结构进行管理。图2-1描述了一个znode树的结构,根节点包含4个个节点,其中三个子节点拥有下一级节点,叶子节点存储了数据信息。 针对一个znode,没有数据常常表达了重要的信息。如,在主-从模式的
阅读全文
-
ZooKeeper架构
摘要:ZooKeeper服务器端运行于两种模式下:独立模式(standalone)和仲裁模式(quorum)。独立模式几乎与其术语所描述的一样:有一个单独的服务器,ZooKeeper状态无法复制。在仲裁模式下,具有一组ZooKeeper服务器,我们称为ZooKeeper集合(ZooKeeper ensem
阅读全文
-
zookeeper的概念和基础
摘要:1.1ZooKeeper的使命 当开发人员使用ZooKeeper进行开发时,开发人员设计的那些应⽤往往可以看成成组连接到ZooKeeper服务器端的客户端,它们通过ZooKeeper的客户端API连接到ZooKeeper服务器端进行相应的操作。Zookeep的客户端API功能强大,其 中包括: 1.
阅读全文