在线客服
扫描二维码
下载博学谷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的接口。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
大数据可视化相关工具介绍
大数据的实际应用中,有一个重要的环节,就是实现数据的可视化。这是数据分析结论导向的重要体现。你可以通过可视化的数据形式明晰的了解各种数据的分布以及占比,例如大数据招聘市场的分布、目前行业岗位薪资与学历的关系、大数据热门技术的应用比例等等。本文就和大家介绍一些大数据可视化的使用工具
8025
2019-08-09 18:04:01
学数据挖掘技术能做哪些工作?可以从事哪些行业?
学数据挖掘技术能做哪些工作?可以从事哪些行业?随着大数据时代的来临,大数据早已渗透我们生活和工作的方方面面。尤其是数据挖掘更是被各行各业广泛应用,像互联网、电商、金融、医疗等等行业对掌握数据挖掘技术的人才更是有着相当优渥的报酬。至于数据挖掘的相关岗位更是选择多多,下面来具体了解一下吧!
9663
2019-10-15 10:29:58
大数据在疫情中的应用场景分析
随着信息化数字时代的发展,大数据技术的应用场景越来越多,并且在我们的日常工作生活中发挥着越来越重要的作用。尤其是在这场声势浩大的新冠肺炎疫情中,大数据技术得到了充分的应用。具体的应用场景主要体现在三个方面:建立人口流动数据系统,追踪疫情最新进展以及共享公共信息平台。下面我们来看看具体的应用的分析。
20943
2020-02-24 11:05:01
数据科学的发展历程
如今,数据科学可以说是一个十分火爆的领域,我们可以看到数据科学在各行各业都得到了广泛的应用。虽然数据科学在近几年发展得如此迅猛,但是数据科学的核心技术其实早在很久以前就已经提出来了。比如数据挖掘、Hadoop、深度学习、神经网络、数据可视化、强化学习和云计算等等技术都是推动数据科学发展进程的核心手段,下面我们一起来看看吧!
9578
2020-03-26 15:36:30
数据仓库与数据库的区别是什么?
相信大数据学习者对于数据仓库与数据库并不陌生,两者都是通过数据库软件实现存放数据的地方,从这个意义上来看,它们似乎没有多大的差别。但是再深入一点分析,我们会发现无论是从数据量还是作用来讲,两者的区别都是巨大的。为了更清楚的分辨数据仓库与数据库,下面我们具体来聊聊数据仓库与数据库的区别。
15336
2020-06-05 11:06:23