`

zookeeper小笔记

 
阅读更多

 

 

clientPort=2181

dataDir=/data/znode1

server.1=192.168.1.246:2888:3888

server.2=192.168.1.246:2889:3889

server.3=192.168.1.246:2890:3890

#server.N=YYY:A:B  

#其中N表示服务器编号,

#YYY表示服务器的IP地址,

#A为LF通信端口,表示该服务器与集群中的leader交换的信息的端口。

#B为选举端口,表示选举新leader时服务器间相互通信的端口(当leader挂掉时,其余服务器会相互通信,选择出新的leader)。

 

 

 

 

持久节点(PERSISTENT)

所谓持久节点,是指在节点创建后,就一直存在,直到有删除操作来主动清除这个节点——不会因为创建该节点的客户端会话失效而消失。

 

 

持久顺序节点(PERSISTENT_SEQUENTIAL)

这类节点的基本特性和上面的节点类型是一致的。额外的特性是,在ZK中,每个父节点会为他的第一级子节点维护一份时序,会记录每个子节点创建的先后顺序。基于这个特性,在创建子节点的时候,可以设置这个属性,那么在创建节点过程中,ZK会自动为给定节点名加上一个数字后缀,作为新的节点名。这个数字后缀的范围是整型的最大值。

 

 

临时节点(EPHEMERAL)

和持久节点不同的是,临时节点的生命周期和客户端会话绑定。也就是说,如果客户端会话失效,那么这个节点就会自动被清除掉。注意,这里提到的是会话失效,而非连接断开。另外,在临时节点下面不能创建子节点。

 

 

临时顺序节点(EPHEMERAL_SEQUENTIAL)

可以用来实现分布式锁

 

ZooKeeper的Watch事件类型

session events

Watcher.Event.EventType.None

Trigger Event Type
AUTH_FAILED event Watcher.Event.KeeperState.AuthFailed
CONNECTED event Watcher.Event.KeeperState.ConnectedReadOnly
CONNECTED event Watcher.Event.KeeperState.SyncConnected
DISCONNECTED event Watcher.Event.KeeperState.Disconnected
SESSION_EXPIRED event Watcher.Event.KeeperState.Expired
SASL-authenticated event Watcher.Event.KeeperState.SaslAuthenticated

data events

Trigger Event Type Watches
ZooKeeper.create Watcher.Event.EventType.NodeCreated ZooKeeper.exists
ZooKeeper.getData
ZooKeeper.setData Watcher.Event.EventType.NodeDataChanged ZooKeeper.getData
ZooKeeper.delete Watcher.Event.EventType.NodeDeleted ZooKeeper.exists

child events

Trigger Event Type Watches
ZooKeeper.create Watcher.Event.EventType.NodeChildrenChanged ZooKeeper.getChildren
ZooKeeper.delete Watcher.Event.EventType.NodeChildrenChanged ZooKeeper.exists
ZooKeeper.getChildren

 

分布式服务框架 Zookeeper -- 管理分布式环境中的数据

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics