ZooKeeper入门简介及配置使用.pdf

ZooKeeper入门简介及配置使用.pdf

ID:52956231

大小:706.45 KB

页数:20页

时间:2020-04-03

ZooKeeper入门简介及配置使用.pdf_第1页
ZooKeeper入门简介及配置使用.pdf_第2页
ZooKeeper入门简介及配置使用.pdf_第3页
ZooKeeper入门简介及配置使用.pdf_第4页
ZooKeeper入门简介及配置使用.pdf_第5页
资源描述:

《ZooKeeper入门简介及配置使用.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、ZooKeeper系列之一:ZooKeeper简介ZooKeeper是一个为分布式应用所设计的分布的、开源的协调服务。分布式的应用可以建立在同步、配置管理、分组和命名等服务的更高级别的实现的基础之上。ZooKeeper意欲设计一个易于编程的环境,它的文件系统使用我们所熟悉的目录树结构。ZooKeeper使用Java所编写,但是支持Java和C两种编程语言。众所周知,协调服务非常容易出错,但是却很难恢复正常,例如,协调服务很容易处于竞态以至于出现死锁。我们设计ZooKeeper的目的是为了减轻分布式应用

2、程序所承担的协调任务。ZooKeeper系列之二:ZooKeeper数据模型、命名空间以及节点的概念ZooKeeper数据模型和层次命名空间提供的命名空间与标准的文件系统非常相似。一个名称是由通过斜线分隔开的路径名序列所组成的。ZooKeeper中的每一个节点是都通过路径来识别。下图是Zookeeper中节点的数据模型,这种树形结构的命名空间操作方便且易于理解。图:ZooKeeper层次命名空间ZooKeeper中节点和临时节点ZooKeeper的节点是通过像树一样的结构来进行维护的,并且每一个节点通

3、过路径来标示以及访问。除此之外,每一个节点还拥有自身的一些信息,包括:数据、数据长度、创建时间、修改时间等等。从这样一类既含有数据,又作为路径表标示的节点的特点中,可以看出,ZooKeeper的节点既可以被看做是一个文件,又可以被看做是一个目录,它同时具有二者的特点。为了便于表达,今后我们将使用Znode来表示所讨论的ZooKeeper节点。具体地说,Znode维护着数据、ACL(accesscontrollist,访问控制列表)、时间戳等交换版本号等数据结构,它通过对这些数据的管理来让缓存生效并且令

4、协调更新。每当Znode中的数据更新后它所维护的版本号将增加,这非常类似于数据库中计数器时间戳的操作方式。另外Znode还具有原子性操作的特点:命名空间中,每一个Znode的数据将被原子地读写。读操作将读取与Znode相关的所有数据,写操作将替换掉所有的数据。除此之外,每一个节点都有一个访问控制列表,这个访问控制列表规定了用户操作的权限。ZooKeeper中同样存在临时节点。这些节点与session同时存在,当session生命周期结束,这些临时节点也将被删除。临时节点在某些场合也发挥着非常重要的作用

5、。ZooKeeper系列之三:ZooKeeper的安装ZooKeeper的安装模式分为三种,分别为:单机模式(stand-alone)、集群模式和集群伪分布模式。ZooKeeper单机模式的安装相对比较简单,如果第一次接触ZooKeeper的话,建议安装ZooKeeper单机模式或者集群伪分布模式。1)单机模式首先,从Apache官方网站下载一个ZooKeeper的最近稳定版本。http://hadoop.apache.org/zookeeper/releases.htmlZooKeeper要求JAV

6、A的环境才能运行,并且需要JAVA6以上的版本,可以从SUN官网上下载,并对JAVA环境变量进行设置。除此之外,为了今后操作的方便,我们需要对ZooKeeper的环境变量进行配置,方法如下,在/etc/profile文件中加入如下的内容:#SetZooKeeperEnviromentexportZOOKEEPER_HOME=/root/hadoop-0.20.2/zookeeper-3.3.1exportPATH=$PATH:$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/co

7、nfZooKeeper服务器包含在单个JAR文件中,安装此服务需要用户创建一个配置文档,并对其进行设置。我们在ZooKeeper-*.*.*目录(我们以当前ZooKeeper的最新版3.3.1为例,故此下面的“ZooKeeper-*.*.*”都将写为“ZooKeeper-3.3.1”)的conf文件夹下创建一个zoo.cfg文件,它包含如下的内容:tickTime=2000dataDir=/var/zookeeperclientPort=2181在这个文件中,我们需要指定dataDir的值,它指向了一

8、个目录,这个目录在开始的时候需要为空。下面是每个参数的含义:tickTime:基本事件单元,以毫秒为单位。它用来指示心跳,最小的session过期时间为两倍的tickTime。dataDir:存储内存中数据库快照的位置,如果不设置参数,更新事务日志将被存储到默认位置。clientPort:监听客户端连接的端口使用单机模式时用户需要注意:这种配置方式下没有ZooKeeper副本,所以如果ZooKeeper服务器出现故障,ZooKeeper服务将会停止。以下

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。