文档章节

ZooKeeper源码解析(一)-入门操作

守望者之父
 守望者之父
发布于 2017/06/18 10:44
字数 765
阅读 10
收藏 0

Zookeeper 分布式服务框架是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。

Zookeeper分成客户端和服务端两部分,服务端通常运行于集群模式,统一为客户端提供分布式数据一致性管理服务,集群可提供水平扩展能力,以及避免单点故障。

ZooKeeper让分布式进程可通过共享的、与标准文件系统类似的分层名字空间相互协调。名字空间由数据寄存器(在ZooKeeper世界中称作znode)构成,这与文件和目录类似。与用于存储设备的典型文件系统不同的是,ZooKeeper的数据往往常驻内存提供服务,提高性能。

Zookeeper还提供了数据动态监测机制, 客户端注册监听它关心的目录节点,当目录节点发生变化(数据改变、被删除、子目录节点增加删除)时,客户端会触发注册事件。 

ZooKeeper的实现很重视高性能、高可用性,以及严格的顺序访问。高性能意味着可将ZooKeeper用于大的分布式系统。可靠性使之可避免单点失败。严格的顺序访问使得客户端可以实现复杂的同步原语。

服务端通常有多台服务器,这些服务器都通过QuorumPeer进程维持分布式系统间的数据交换,选举领导者(Leader)和追随者(Follower),动态监控集群,一旦发生节点故障则重新启动选举流程,选出新的Leader。每个服务器维护相同的一份全局数据,通过QuorumPeer维持数据之间的同步,这样提供高可靠性和横向扩展性。

客户端命令行

本节从Zookeeper客户端的角色出发,理解Zookeeper的常用操作方法。

客户端提供的操作包括启动、关闭、创建节点、设置节点数据、删除节点、获取节点、获取节点数据等。这里只是取其中的几个命令做为示例。

  • 启动客户端

zkCli.sh

  • 连接服务端

Connect 10.10.27.21

  • 创建路径节点

创建一个新的 znode ,使用 create /test “hello” 。这个命令在根目录下创建了一个新的 znode 节点“ test ”以及与它关联的字符串:

  • 获取目录

使用 ls 命令来查看当前 ZooKeeper 中所包含的内容,这里显示/目录下有test、zookeeper两个子节点。

 

  • 获取节点数据

运行 get 命令来确认第二步中所创建的 znode ,显示znode的数据、创建时间等状态信息。

示例数据:

  • 设置节点数据

通过 set 命令来对 zk 所关联的字符串进行设置,设置/test路径的数据为“welcome!”。

  • 删除节点

delete  /test

 

© 著作权归作者所有

守望者之父
粉丝 4
博文 90
码字总数 62352
作品 0
南京
私信 提问
Zookeeper 通知更新可靠吗? 解读源码找答案!

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由特鲁门发表于云+社区专栏 导读: 遇到Keepper通知更新无法收到的问题,思考节点变更通知的可靠性,通过阅读源码解析了解到...

腾讯云加社区
2018/10/09
0
0
ZooKeeper源码:ZooKeeper类分析

ZooKeeper版本:3.4.10。 一.创建ZooKeeper对象 ZooKeeper类是ZooKeeper客户端的实现,用来发送命令给ZooKeeper服务器。 ZooKeeper中可以设置Watcher,每个Watcher在节点状态发生变化的时候被...

Jacktanger
2018/09/01
149
0
dubbo专题-深入分析zookeeper创建节点过程(高清大图无水印版)

  点击上方“java进阶架构师”,选择右上角“置顶公众号”   20大进阶架构专题每日送达   在之前dubbo源码解析-本地暴露中的前言部分提到了两道高频的面试题,其中一道dubbo中zookeeper...

java进阶架构师
2018/09/11
0
0
高性能 RPC 框架 Dubbo 从入门到深入-服务注册中心搭建(详细)

一、前言 整体来说,一个公司业务系统的演进流程基本都是从单体应用到多应用。在单体应用时,不同业务模块相互调用直接在本地 JVM 进程内就可以完成,而变为多个应用时,相互之间进行通信的方...

加多
2018/01/26
0
0
一篇文章带你入门Zookeeper

Zookeeper是什么 官方文档上这么解释zookeeper,它是一个分布式服务框架,是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态...

动力节点
01/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

分布式协调服务zookeeper

ps.本文为《从Paxos到Zookeeper 分布式一致性原理与实践》笔记之一 ZooKeeper ZooKeeper曾是Apache Hadoop的一个子项目,是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它...

ls_cherish
今天
4
0
redis 学习2

网站 启动 服务端 启动redis 服务端 在redis 安装目录下 src 里面 ./redis-server & 可以指定 配置文件或者端口 客户端 在 redis 的安装目录里面的 src 里面 ./redis-cli 可以指定 指定 连接...

之渊
昨天
2
0
Spring boot 静态资源访问

0. 两个配置 spring.mvc.static-path-patternspring.resources.static-locations 1. application中需要先行的两个配置项 1.1 spring.mvc.static-path-pattern 这个配置项是告诉springboo......

moon888
昨天
4
0
hash slot(虚拟桶)

在分布式集群中,如何保证相同请求落到相同的机器上,并且后面的集群机器可以尽可能的均分请求,并且当扩容或down机的情况下能对原有集群影响最小。 round robin算法:是把数据mod后直接映射...

李朝强
昨天
4
0
Kafka 原理和实战

本文首发于 vivo互联网技术 微信公众号 https://mp.weixin.qq.com/s/bV8AhqAjQp4a_iXRfobkCQ 作者简介:郑志彬,毕业于华南理工大学计算机科学与技术(双语班)。先后从事过电子商务、开放平...

vivo互联网技术
昨天
24
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部