




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
主讲人:卓晓波大数据与云计算智能建造技术专业资源库知识点有条不紊ZooKeeper工作初探3ZooKeeper接口1ZooKeeper的数据模型2ZooKeeper部署ZooKeeper入门Zookeeper拥有一个和分布式的文件系统非常相似的层次命名空间。
Znode是ZooKeeper中数据的最小单元,既像文件一样维护着数据、元信息、访问控制列表、时间戳等数据结构,又像目录一样可以作为路径标识的一部分,并可以具有子znode。
用户对znode具有增、删、改、查等操作(权限允许的情况下)。一、ZooKeeper的数据模型一、ZooKeeper的数据模型每个Znode都有以下三部分组成。Stat:状态信息,用于存储该Znode的版本、权限、时间戳等信息;Data:实际存储的数据;Children:对子节点的信息描述;zookeeper的设计主要是用于管理调度数据,而不是用于常规的数据库和数据存储服务。
每个znode的数据大小最大为1M,不过一般情况下,都只会有几KB。四种类型的Znode节点,分别对应PERSISTENT_SEQUENTIAL:永久节点、序列化(Znode的名字后面会自动追加一个不断增加的序列号)3EPHEMERAL:临时节点(生命周期依赖于创建该节点的会话,当会话结束的时候,节点自动删除,当然也可以手动删除,另外临时节点不能有子节点。)2PERSISTENT:永久节点(生命周期不依赖于会话,只有当客户端显示删除的时候,才会被删除。)1EPHEMERAL_SEQUENTIAL:临时节点、序列化4一、ZooKeeper的数据模型一、ZooKeeper的数据模型Znode的监听器机制ZooKeeper的每个节点上都有一个Watcher用于监控节点数据的变化。当节点状态发生改变时(Znode新增、删除、修改)将会触发Wahcher所对应的操作。在Watcher被触发时,ZooKeeper会向监控该节点的客户端发送一条通知说明节点的变化情况。ZooKeeper可以运行在多种系统平台上面,下表展示了zk支持的系统平台。ZooKeeper是用Java编写的,运行在Java环境上,因此,在部署zk的机器上需要安装Java运行环境。为了正常运行zk,我们需要JRE1.6或者以上的版本。ZooKeeper对于机器的硬件配置没有太大的要求。例如,在Yahoo!内部,ZooKeeper部署的机器其配置通常如下:双核处理器,2GB内存,80GB硬盘。二、ZooKeeper的部署ZooKeeper入门下载安装zookeeper官网:/
下载地址:
/releases.html二、ZooKeeper的部署bin目录
zk的可执行脚本目录,包括zk服务进程,zk客户端等脚本。其中,.sh是Linux环境下的脚本,.cmd是Windows环境下的脚本。conf目录
配置文件目录。zoo_sample.cfg为样例配置文件,需要修改为自己的名称,一般为perties为日志配置文件。lib
zk依赖的包。contrib目录
一些用于操作zk的工具包。recipes目录
zk某些用法的代码示例二、ZooKeeper的部署ZooKeeper可以使用单机模式或集群模式进行部署,下面以集群部署方式进行介绍,部署步骤如下。开启三台虚拟机。搭建jdk(参考hadoop集群的搭建,建议搭建在hadoop集群中,它只需要jdk就可以了)。部署规划:cSlave0,cSlave1,cSlave2上部署ZooKeeper服务。下载并安装ZooKeeper将zookeeper-3.4.5-chd5.3.6.tar.gz上传到虚拟机中解压ZooKeepertar–xvfzookeeper-3.4.5-chd5.3.6.tar.gz-c/bigdata)对zookeeper目录进行重命名(mvzookeeper-3.4.5-chd5.3.6.tar.gzzookeeper)二、ZooKeeper的部署在ZooKeeper目录下创建data目录Mkdir/bigdata/zookeeper/data/在data目录中创建myid文件并写入123touch/bigdata/zookeeper/data/myidEcho123>>/bigdata/zookeeper/data/myid将123写入myid文件的首行 在/usr/local/zookeeper/conf/目录下,修改zoo.cfg4.初始化ZooKeeper。二、ZooKeeper的部署配置ZooKeeper,将下述内容追加到/etc/zookeeper/conf/zoo.cfg文件中。zoo.cfg是ZooKeeper的配置文档,其中ZooKeeper间正常交换信息时使用2888端口,选举领导时使用3888端口。还须注意的是,cSlave0、cSlave1和cSlave2这三台机器都要执行这个操作,即保持整个集群中ZooKeeper配置相同。二、ZooKeeper的部署6.启动ZooKeeper服务。在每个节点上(cSlave0,cSlave1,cSlave2)启动ZooKeeper服务,命令为:zkServer.shstart在每个节点上(cSlave0,cSlave1,cSlave2)查看ZooKeeper状态,命令为:zkServer.shstatus在每个节点上(cSlave0,cSlave1,cSlave2)查看ZooKeeper状态,命令为:zkServer.shstop二、ZooKeeper的部署ZooKeeper主要提供了Shell接口和api编程接口,其中Shell接口提供了管理ZooKeeper最常用的操作,编程接口则更加灵活.三、ZooKeeper的接口ls查看节点列表命令;用于查看某个路径下目录列表。格式:ls、path、#path代表路径lsls2用于查看某路径下节点详细信息格式:ls2、pathls2create命令用于创建节点并赋值格式:create、[-s]、[-e]、path、data、acls、-e可选,-s是顺序节点,-e是临时节点。data要在此节点存储的数据create创建节点命令set命令用于修改节点存储的数据格式:set、path、dataset更新节点命令1.Zookeeper常用shell命令三、ZooKeeper的接口get命令用于获取节点数据和状态信息格式:get、path、【watch】,【watch】对节点进行事件监听get查看节点命令格式:stat、path、【watch】stat查看节点状态命令delete命令用于删除某节点,也可以传入版本号格式:delete、path、【version】delete删除节点命令使用getpath【watch】注册的监听器,能够在节点内容发生改变的时候,向客户端发出通知。使用statpath【watch】注册的监听器,能够在节点状态发生改变时,向客户端发出通知。使用ls\ls2path【watch】注册的监听器,能够监听节点下所有子节点的增加和删除操作。监听器1.Zookeeper常用shell命令三、ZooKeeper的接口ZooeeperAPI共包含五个包,分别为∶
org.apache.zookeeperorg.apache.zookeeper.dataorg.apache.zookeeper.serverorg.apache.zookeeper.server.quorumorg.apache.zookeeper.server.upgrade其中org.apache.zookeeper,包含Zookeeper类,它是编程时最常用的类文件。这个类是Zookeeper客户端的主要类文件。如果要使用Zookeeper服务,应用程序首先必须创建一个Zooeeper实例,这时就需要使用此类。一旦客户端和Zookeeper服务端建立起了连接,Zookeeper系统将会给本次连接会话分配一个ID值,并且客户端将会周期性的向服务器端发送心跳来维持会话连接。只要连接有效,客户端就可以使用Zookeeper
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论