zookeeper 学习笔记1(转)

本文转自https://www.cnblogs.com/fanguangdexiaoyuer/p/7077520.html 感谢作者

可以设置观察的操作:exists,getChildren,getData

可以触发观察的操作:create,delete,setData

zookeeper观察机制;

服务端只存储事件的信息,

客户端存储事件的信息和Watcher的执行逻辑.

ZooKeeper客户端是线程安全的。

每一个应用只需要实例化一个ZooKeeper客户端即可,

同一个ZooKeeper客户端实例可以在不同的线程中使用。

zookeeper观察机制;

服务端只存储事件的信息,

客户端存储事件的信息和Watcher的执行逻辑.

ZooKeeper客户端是线程安全的。

每一个应用只需要实例化一个ZooKeeper客户端即可,

同一个ZooKeeper客户端实例可以在不同的线程中使用。

zookeeper观察机制;

服务端只存储事件的信息,

客户端存储事件的信息和Watcher的执行逻辑.

ZooKeeper客户端是线程安全的。

每一个应用只需要实例化一个ZooKeeper客户端即可,

同一个ZooKeeper客户端实例可以在不同的线程中使用。

ZooKeeper客户端会将这个Watcher对应Path路径存储在ZKWatchManager中,同时通知ZooKeeper服务器记录该Client对应的Session中的Path下注册的事件类型。当ZooKeeper服务器发生了指定的事件后,ZooKeeper服务器将通知ZooKeeper客户端哪个节点下发生事件类型,ZooKeeper客户端再从ZKWatchManager中找到相应Path,取出相应watcher引用执行其回调函数process。

原文地址:https://www.cnblogs.com/panxuejun/p/8566366.html

时间: 2024-08-07 20:06:17

zookeeper 学习笔记1(转)的相关文章

Zookeeper 学习笔记之 节点个数

zookeeper的节点配置的个数推荐是奇数个这是为什么呢? 选举机制 两种情况无法选出leader: 整个集群只有2台服务器(注意不是只剩2台,而是集群的总节点数为2) 整个集群超过半数机器挂掉. 所谓的偶数问题其实是另一个集群优化配置问题,即:集群的容灾数量=集群总节点数/2-1 集群中只要有过半的机器是正常工作的,那么整个集群对外就是可用的.也就是说如果有2个zookeeper,那么只要有1个死了zookeeper就不能用了,因为1没有过半,所以2个zookeeper的死亡容忍度为0:同理

zookeeper学习笔记-zkclient,curator使用

开源客户端,原生api的不足 连接的创建是异步的,需要开发人员自行编码实现等待 连接没有自动的超时重连机制 Zk本身没提供序列化机制,需要开发人员自行指定,从而实现数据的序列化和反序列化 Watcher注册一次只会生效一次,需要不断的重复注册 Watcher的使用方式不符合java本身的术语,如果采用监听器方式,更容易理解 不支持递归创建树形节点 开源客户端---ZkClient介绍 Github上一个开源的zk客户端,由datameer的工程师Stefan Groschupf和Peter Vo

Zookeeper 学习笔记之 Leader Election

ZooKeeper四种节点类型: Persist Persist_Sequential Ephemeral Ephemeral_Sequential 在节点上可注册的Watch,客户端先得到通知再得到数据,Watch被fire后,不会再Watch到后续的变化. 基于ZooKeeper做Leader Election 非公平模式 - 客户端会在Persist父节点下创建Ephemeral的Leader节点,只不过是大家抢占式注册,先到先得.即使第一次排在前面,对第二次竞选也不会有影响,所以称为非公

Apache ZooKeeper 学习笔记

1.什么是zk? zk是高可靠的服务器. 2.zk的安装 1.下载 http://mirror.bit.edu.cn/apache//zookeeper/zookeeper-3.4.3/zookeeper-3. 4.3.tar.gz 2.解压 tar 3.在conf下修改配置文件zoo.cfg 4.在bin下启动 3.zk的原理 4.zk的资料 http://zookeeper.apache.org/doc/r3.5.0-alpha/ 5.zk的讨论

Zookeeper学习笔记1

参考:从Paxos到Zookeeper分布式一致性原理与实践 从ACID到CAP/BASE ACID 事务(Transaction),一般是指要做的或所做的事情.在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit). 事务的特性 Atomicity(原子性) 事务中包含的一组操作要么全部成功执行,要么全部不执行 Consistency(一致性) 事务执行前后处于一致性状态 Isolation(隔离性) 并发环境中事物之间不能相互影响 [四个隔离级别] 读未提交 事务B

Zookeeper学习笔记3

客户端的操作 zkCli.sh 官方文档 ls / [zookeeper] get / cZxid = 0x0 ctime = Thu Jan 01 08:00:00 CST 1970 mZxid = 0x0 mtime = Thu Jan 01 08:00:00 CST 1970 pZxid = 0x0 cversion = -1 dataVersion = 0 aclVersion = 0 ephemeralOwner = 0x0 dataLength = 0 numChildren = 1

Hadoop学习笔记(三)——zookeeper的一致性协议:ZAB

ZAB:ZooKeeper的Atomic Broadcast协议,能够保证发给各副本的消息顺序相同. Zookeeper使用了一种称为Zab(ZookeeperAtomic Broadcast)的协议作为其一致性复制的核心,其特点为高吞吐量.低延迟.健壮.简单,但不过分要求其扩展性. Zookeeper的实现是有Client.Server构成,Server端提供了一个一致性复制.存储服务,Client端会提供一些具体的语义,比如分布式锁.选举算法.分布式互斥等.从存储内容来说,Server端更多

Hadoop学习笔记(二)——zookeeper使用和分析

分布式架构是中心化的设计,就是一个主控机连接多个处理节点,因此保证主控机高可用性十分关键.分布式锁是解决该问题的较好方案,多主控机抢一把锁.Zookeeper就是一套分布式锁管理系统,用于高可靠的维护元数据. 一.应用 1.集群模式 集群模式下配置多个Zookeeper节点,启动Zookeeper集群,Zookeeper会根据配置投票选举一个节点获得分布式锁. 关键配置举例: # The Cluster servers #server.1=192.168.1.10:2887:3887 #serv

storm学习笔记完整记录(一)

storm有两种运行模式(本地模式和集群模式) 1. 首先创建一个类似于HelloWorld的简单程序,以便进入storm的大门,包结构如下: 2.从包结构可以知道,这是一个Maven Project,pom.xml的内容如下: <project xmlns="http://maven.apache.org/POM/4.0.0"          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"