介绍:
Zookeeper分为2个部分:服务器端和客户端,客户端只连接到整个ZooKeeper服务的某个服务器上。客户端使用并维护一个TCP连接,通过这个连接发送请求、接受响应、获取观察的事件以及发送心跳。如果这个TCP连接中断,客户端将尝试连接到另外的ZooKeeper服务器。客户端第一次连接到ZooKeeper服务时,接受这个连接的 ZooKeeper服务器会为这个客户端建立一个会话。当这个客户端连接到另外的服务器时,这个会话会被新的服务器重新建立。
启动Zookeeper服务器集群环境后,多个Zookeeper服务器在工作前会选举出一个Leader,在接下来的工作中这个被选举出来的Leader死了,而剩下的Zookeeper服务器会知道这个Leader死掉了,在活着的Zookeeper集群中会继续选出一个Leader,选举出leader的目的是为了可以在分布式的环境中保证数据的一致性。如图所示:
ZooKeeper 支持watch(观察)的概念。客户端可以在每个znode结点上设置一个观察。如果被观察服务端的znode结点有变更,那么watch就会被触发,这个watch所属的客户端将接收到一个通知包被告知结点已经发生变化。若客户端和所连接的ZooKeeper服务器断开连接时,其他客户端也会收到一个通知,也就说一个Zookeeper服务器端可以对于多个客户端,当然也可以多个Zookeeper服务器端可以对于多个客户端使用:
1.查看某zookeeper的工作模式:
echo stat|nc 127.0.0.1 2183 Zookeeper version: 3.3.3-1073969, built on 02/23/2011 22:27 GMT Clients: /127.0.0.1:2631[0](queued=0,recved=1,sent=0) Latency min/avg/max: 0/0/0 Received: 1 Sent: 0 Outstanding: 0 Zxid: 0x300000002 Mode: leader Node count: 7
2.客户端连接:
zkCli.cmd -server 127.0.0.1:2182
3.常用的命令:
set path data [version] ls path [watch] setAcl path acl addauth scheme auth connect host:port delete path [version] ls2 path [watch] delquota [-n|-b] path quit printwatches on|off history getAcl path stat path [watch] setquota -n|-b val path get path [watch] close listquota path sync path create [-s] [-e] path data acl redo cmdno
应用场景:
1.做配置管理
所有的配置文件存放到zookeeper集群上,如果发生变动那么客户端获取的时候直接获取到最新的配置信息
2.集群管理
应用集群中,我们常常需要让每一个机器知道集群中(或依赖的其他某一个集群)哪些机器是活着的,并且在集群机器因为宕机,网络断链等原因能够不在人工介入的情况下迅速通知到每一个机器。
3.命名服务
数据存储采用/path1/path2 data的方式存储
4.提供分布式锁机制
相关推荐
Zookeeper应用场景 数据发布与订阅(配置中心) 发布与订阅模型,即所谓的配置中心,顾名思义就是发布者将数据发布到ZK节点上,供订阅者动态获取数据,实现配置信息的集中式管理和动态更新。例如全局的配置信息,...
Zookeeper 是一个开源的、分布式的,为分布式应用提供协调服务的 Apache 项目。 二、特点 1、zookeeper 中是由一个领导者(Leader)、多个跟随者(Follower)组成的集群。 2、集群中只要有半数以上节点存活,zookeeper ...
数据量大:大数据指的是数据集的规模非常庞大,远远超出了传统数据处理工具的能力范围。这些数据集可能包含数十亿甚至数万亿的记录。 复杂度高:大数据往往包含多种类型和格式的数据,例如结构化数据(如关系型...
Hadoop/HDFS/Zookeeper/HBase/MapReduce/Yarn/Hive/Flink/Flume/Kafka/Loader/ElasticSearch/R edis) 数据预处理 特征选择与降维 有监督学习 无监督学习 模型评估与优化 数据挖掘综合应用 Spark MLlib 数据挖掘 ...
受支持的属性源的扩展范围(环境变量,程序参数,类路径,属性文件,mongodb,git存储库,zookeeper等) 支持集中式分层属性源 控制应用不同资源来源的顺序 属性更改审核日志 通过JMX和/或HTTP公开属性和设置 用法 ...
该库提供Java Spring应用程序之间的RPC通信。 主要特点: Apache ZooKeeper(带有TLSv1.2)用于服务发现 同步和异步RPC调用-通信类型由客户端而不是服务器确定 一个接口可以有多个服务器实现-客户端通过在请求中...
zkNavigator是一个基于瓶子的应用程序,可在您的浏览器中为您提供快速而肮脏的Zookeeper查看器/编辑器。 它需要python kazoo才能运行,但超出此范围的所有内容都打包在这里。 一旦安装了kazoo,要开始使用,只需为您...
服务治理 由于Spring Cloud为服务治理做了一层抽象接口,所以在Spring Cloud应用中可以支持多种不同的服务治理框架,比如:Netflix Eureka、Consul、Zookeeper。在Spring Cloud服务治理抽象层的作用下,我们可以无缝...
数据量大:大数据指的是数据集的规模非常庞大,远远超出了传统数据处理工具的能力范围。这些数据集可能包含数十亿甚至数万亿的记录。 复杂度高:大数据往往包含多种类型和格式的数据,例如结构化数据(如关系型...
数据量大:大数据指的是数据集的规模非常庞大,远远超出了传统数据处理工具的能力范围。这些数据集可能包含数十亿甚至数万亿的记录。 复杂度高:大数据往往包含多种类型和格式的数据,例如结构化数据(如关系型...
数据量大:大数据指的是数据集的规模非常庞大,远远超出了传统数据处理工具的能力范围。这些数据集可能包含数十亿甚至数万亿的记录。 复杂度高:大数据往往包含多种类型和格式的数据,例如结构化数据(如关系型...
数据量大:大数据指的是数据集的规模非常庞大,远远超出了传统数据处理工具的能力范围。这些数据集可能包含数十亿甚至数万亿的记录。 复杂度高:大数据往往包含多种类型和格式的数据,例如结构化数据(如关系型...
数据量大:大数据指的是数据集的规模非常庞大,远远超出了传统数据处理工具的能力范围。这些数据集可能包含数十亿甚至数万亿的记录。 复杂度高:大数据往往包含多种类型和格式的数据,例如结构化数据(如关系型...
数据量大:大数据指的是数据集的规模非常庞大,远远超出了传统数据处理工具的能力范围。这些数据集可能包含数十亿甚至数万亿的记录。 复杂度高:大数据往往包含多种类型和格式的数据,例如结构化数据(如关系型...
数据量大:大数据指的是数据集的规模非常庞大,远远超出了传统数据处理工具的能力范围。这些数据集可能包含数十亿甚至数万亿的记录。 复杂度高:大数据往往包含多种类型和格式的数据,例如结构化数据(如关系型...
数据量大:大数据指的是数据集的规模非常庞大,远远超出了传统数据处理工具的能力范围。这些数据集可能包含数十亿甚至数万亿的记录。 复杂度高:大数据往往包含多种类型和格式的数据,例如结构化数据(如关系型...
数据量大:大数据指的是数据集的规模非常庞大,远远超出了传统数据处理工具的能力范围。这些数据集可能包含数十亿甚至数万亿的记录。 复杂度高:大数据往往包含多种类型和格式的数据,例如结构化数据(如关系型...
数据量大:大数据指的是数据集的规模非常庞大,远远超出了传统数据处理工具的能力范围。这些数据集可能包含数十亿甚至数万亿的记录。 复杂度高:大数据往往包含多种类型和格式的数据,例如结构化数据(如关系型...
数据量大:大数据指的是数据集的规模非常庞大,远远超出了传统数据处理工具的能力范围。这些数据集可能包含数十亿甚至数万亿的记录。 复杂度高:大数据往往包含多种类型和格式的数据,例如结构化数据(如关系型...
数据量大:大数据指的是数据集的规模非常庞大,远远超出了传统数据处理工具的能力范围。这些数据集可能包含数十亿甚至数万亿的记录。 复杂度高:大数据往往包含多种类型和格式的数据,例如结构化数据(如关系型...