1. 概述
Zookeeper是Hadoop的一个子项目,它是分布式系统中的协调系统,可提供的服务主要有:配置服务、
名字服务、分布式同步、组服务等。
它有如下的一些特点:
简单
Zookeeper的核心是一个精简的文件系统,它支持一些简单的操作和一些抽象操作,例如,排序和通知。
丰富
Zookeeper的原语操作是很丰富的,可实现一些协调数据结构和协议。例如,分布式队列、分布式锁和
一组同级别节点中的“领导者选举”。
高可靠
Zookeeper支持集群模式,可以很容易的解决单点故障问题。
松耦合交互
不同进程间的交互不需要了解彼此,甚至可以不必同时存在,某进程在zookeeper中留下消息后,
该进程结束后其它进程还可以读这条消息。
资源库
ookeeper实现了一个关于通用协调模式的开源共享存储库,能使开发者免于编写这类通用协议。2. ZooKeeper的安装
独立模式安装
Zookeeper的运行环境是需要java的,建议安装oracle的java6.
可去官网下载一个稳定的版本,然后进行安装:http://zookeeper.apache.org/
解压后在zookeeper的conf目录下创建配置文件zoo.cfg,里面的配置信息可参考统计目录下的
zoo_sample.cfg文件,我们这里配置为:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/opt/zookeeper-data/
clientPort=2181
tickTime:指定了ZooKeeper的基本时间单位(以毫秒为单位);
initLimit:指定了启动zookeeper时,zookeeper实例中的随从实例同步到领导实例的初始化连接时间限制,
超出时间限制则连接失败(以tickTime为时间单位);
syncLimit:指定了zookeeper正常运行时,主从节点之间同步数据的时间限制,若超过这个时间限制,
那么随从实例将会被丢弃;
dataDir:zookeeper存放数据的目录;
clientPort:用于连接客户端的端口。启动一个本地的ZooKeeper实例
zkServer.sh start4. Zookeeper的存储模型
ookeeper的数据存储采用的是结构化存储,结构化存储是没有文件和目录的概念,里边的目录和文件
被抽象成了节点(node),zookeeper里可以称为znode。最上边的是根目录,下边分别是不同级别的子目录。5. Zookeeper客户端的使用
zkCli.sh
可使用./zkCli.sh -server localhost来连接到Zookeeper服务上。
使用ls /可查看根节点下有哪些子节点,可以双击Tab键查看更多命令。6. Zookeeper创建Znode
Znode有两种类型:短暂的和持久的。短暂的znode在创建的客户端与服务器端断开(无论是明确的断开
还是故障断开)连接时,该znode都会被删除;相反,持久的znode则不会。7. Zookeeper删除Znode
zk.delete(path,version)方法的第二个参数是znode版本号,如果提供的版本号和znode版本号一致
才会删除这个znode,这样可以检测出对znode的修改冲突。通过将版本号设置为-1,可以绕过这个版本
检测机制,无论znode的版本号是什么,都会直接将其删除。8. Zookeeper的相关操作
ZooKeeper中共有9中操作:
create:创建一个znode
delete:删除一个znode
exists:测试一个znode
getACL,setACL:获取/设置一个znode的ACL(权限控制)
getChildren:获取一个znode的子节点
getData,setData:获取/设置一个znode所保存的数据
sync:将客户端的znode视图与ZooKeeper同步
这里更新数据是必须要提供znode的版本号(也可以使用-1强制更新,这里可以执行前通过exists方法
拿到znode的元数据Stat对象,然后从Stat对象中拿到对应的版本号信息),如果版本号不匹配,则
更新会失败。因此一个更新失败的客户端可以尝试是否重试或执行其它操作。

ZooKeeper快速入门相关推荐

  1. zookeeper快速入门——应用(两种分布式锁)

    在<zookeeper快速入门--简介>一文中,我们介绍了zookeeper的机制.但是还是比较抽象,没有直观感受到它在分布式系统中的应用.本文我们使用一个例子,三次迭代演进,来说明Zoo ...

  2. python 操作 zookeeper 快速入门

    python 操作 zookeeper 快速入门 文章目录 python 操作 zookeeper 快速入门 什么是zookeeper python 操作 zk 快速入门 zk节点 创建节点 查询节点 ...

  3. zookeeper快速入门——部署

    zookeeper有两种运行模式:独立模式和仲裁模式.独立模式就是只运行一个Zookeeper Server,这自然没法解决服务崩溃导致系统不可用的问题.仲裁模式就是以集群的方式运行Zookeeper ...

  4. zookeeper快速入门——简介

    在几十年前,一个独立的计算机上往往部署着一套完整的应用系统.当时因为网络稳定性及速度的限制,将相关联的服务部署在一台机器上,让它们使用系统机制通信--比如管道,文件等,往往是最稳定和最高效的.然而随着 ...

  5. zookeeper快速入门,配置虚拟机ip、mac、虚拟机免密,jdk的安装与卸载

    zookeeper里的每一个节点叫znode,他们既是目录的功能也有自己的文本信息. 下面进行的集群配置并没有实现高可用效果(内存空间有限) 此次搭建要准备三台虚拟机,准备必备jar包. 虚拟机 ip ...

  6. 1分钟 Zookeeper 快速入门_windows环境

    下载zookeeper 官网链接:https://zookeeper.apache.org/ 修改conf/zoo.cfg 文件名

  7. 软件架构-zookeeper快速入门

    上次在配置zookeeper分布式的时候,有个很重要的文件zoo.cfg,里面重点配置了几个信息clientPort,server.1的端口号.实际用到了2个端口号2181,2888,还有个2888这 ...

  8. 转:Zookeeper快速入门

    转自: http://www.cnblogs.com/sunddenly/category/620563.html 转载于:https://www.cnblogs.com/gscq073240/art ...

  9. 学习笔记:快速入门ZooKeeper技术

    学习视频:黑马程序员 ZooKeeper 视频教程,快速入门 ZooKeeper 技术 学习资料:黑马程序员 公众号提供的文档资料链接 | 提取码:dor4) 本文最后更新于 2022-04-25,若 ...

最新文章

  1. 让FFMPEG支持实时流“伴随”转码
  2. postgresql 遍历参数_PostgreSQL 对简单树的遍历
  3. 移植 stm32f7_移植zephyrOS到正点原子apollo STM32F767上
  4. 如何将idea自带的maven添加到环境变量
  5. React开发(186):react 父调用子组件的方法
  6. 魔改和上线你的合成大西瓜,最全教程!
  7. XMLHTTP---介绍
  8. 食品品牌最全VI目录 - 塔望食品品牌全案策划VI设计清单
  9. Linux应急响应入侵排查思路
  10. b250支持服务器cpu,b250m主板应该上什么cpu
  11. 中国科学技术大学计算机考研好考吗,中国科学技术大学计算机考研复习方法谈(2)...
  12. 2.4 设置工作表的背景图片 [原创Excel教程]
  13. python处理微信消息导入excel_使用python读取excel中的数据,并重新写入到新的excel中...
  14. 虚拟主播合成视频使用教程
  15. Eel——js 如何调用python的函数
  16. 详细的网络安全基础,一篇文章统统告诉你
  17. C语言——数据结构之广义表(概念及其存储结构)
  18. 前面的号码不足为奇,后面的才是重点
  19. java(JDK)环境安装步骤以及环境变量配置
  20. 中小企业信息化——ERP/CRM

热门文章

  1. zigbee 空中消息溯源
  2. can4--测试can
  3. 关于黑客的报道里绝对不会提到的信息
  4. 【大话Hibernate】hibernate缓存详解
  5. 智能导航短信告警的一个逻辑处理
  6. WiFi攻击中的“核武器”长啥样?来,今天咱们开开眼...
  7. 开发直播APP软件一定要了解的H.264编码,即时通讯中的战斗机
  8. HTML5与HTML4的区别(译文)
  9. 在Centos上编译安装nginx
  10. Gitlab禁用Gravatar头像