在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
ZooKeeper的节点类型有哪些?ZooKeeper是个分布式开放源码的分布式应用程序协调服务,是Hadoop和Hbase的重要组件。ZooKeeper服务端支持7种节点类型分别是:持久、持久顺序、临时、临时顺序、容器、持久 TTL、持久顺序 TTL。

接下来具体介绍下ZooKeeper的节点类型:
1、持久、临时
持久是用的最多的一种类型也是默认的节点类型,临时节点相较于持久节点来说就是它会随着客户端会话结束而被删除,通常可以用在一些特定的场景,如分布式锁释放、健康检查等。
2、持久顺序、临时顺序
这两种放在一起介绍,他们相对于上面两种的特性就是ZK会自动在这两种节点之后增加一个数字的后缀,而路径 + 数字后缀是能保证唯一的,这数字后缀的应用场景可以实现诸如分布式队列,分布式公平锁等。
3、容器
容器节点是 3.5 以后新增的节点类型,只要在调用 create 方法时指定 CreateMode 为 CONTAINER 即可创建容器的节点类型,容器节点的表现形式和持久节点是一样的,但是区别是 ZK 服务端启动后,会有一个单独的线程去扫描,所有的容器节点,当发现容器节点的子节点数量为 0 时,会自动删除该节点,除此之外和持久节点没有区别,官方注释给出的使用场景是 Container nodes are special purpose nodes useful for recipes such as leader, lock, etc. 说可以用在 leader 或者锁的场景中。
4、持久 TTL、持久顺序 TTL
关于持久和顺序这两个关键字,不用我再解释了,这两种类型的节点重点是后面的 TTL,TTL 是 time to live 的缩写,指带有存活时间,简单来说就是当该节点下面没有子节点的话,超过了 TTL 指定时间后就会被自动删除,特性跟上面的容器节点很像,只是容器节点没有超时时间而已,但是 TTL 启用是需要额外的配置(这个之前也有提过)配置是 zookeeper.extendedTypesEnabled 需要配置成 true,否则的话创建 TTL 时会收到 Unimplemented 的报错。
ZooKeeper以Fast Paxos算法为基础,Paxos 算法存在活锁的问题,即当有多个proposer交错提交时有可能互相排斥导致没有一个proposer能提交成功,而Fast Paxos做了一些优化,通过选举产生一个领导者,只有leader才能提交proposer具体算法可见Fast Paxos。要想弄懂ZooKeeper首先得对Fast Paxos有所了解。
ZooKeeper目标是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。ZooKeeper包含一个简单的原语集提供Java和C的接口。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
如何通过云计算大数据在线培训视频学习项目实战经验?
目前通过参加云计算大数据培训是成为进入大数据行业的重要途径之一。而对于时间并不充裕或者无法脱产学习以及异地学习的朋友而言,更多的选择云计算大数据在线培训的方式学习。那如果通过云计算大数据在线培训视频学习项目实战经验呢?
10473
2019-08-06 19:00:46
学数据挖掘技术能做哪些工作?可以从事哪些行业?
学数据挖掘技术能做哪些工作?可以从事哪些行业?随着大数据时代的来临,大数据早已渗透我们生活和工作的方方面面。尤其是数据挖掘更是被各行各业广泛应用,像互联网、电商、金融、医疗等等行业对掌握数据挖掘技术的人才更是有着相当优渥的报酬。至于数据挖掘的相关岗位更是选择多多,下面来具体了解一下吧!
12335
2019-10-15 10:29:58
大数据分析专家到大数据技术总监如何转型?
大数据分析专家到大数据技术总监如何转型?大数据分析专家偏重对数据分析的能力,而转型成大数据技术总监除了精通数据分析能力还有具备管理能力,可以带团队做项目。
8940
2019-10-24 15:40:08
2020年大数据发展前景如何?
在2020年将看到越来越多的组织利用对象存储从非结构化数据创建结构化/标记数据,从而允许使用元数据来理解人工智能和机器工作负载生成数据。当数据变得足够大时,就会施加类似引力的力,使其难以移动,同时还可以吸引更多数据。
7901
2020-02-05 14:40:18
数据科学与机器学习的区别是什么?
数据科学与机器学习的区别:机器学习是人工智能的一个分支,而数据科学是数据清理、准备和分析的学科。人们需要了解每种技术的工作原理,以及它们是如何一起工作的。数据科学是一种实践领域,而机器学习是一组工具和方法论。
8276
2020-05-13 15:36:30
