欢迎来到天天文库
浏览记录
ID:22585121
大小:107.47 KB
页数:39页
时间:2018-10-30
《zookeeper 理论知识》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、简介ApacheZookeeper是由ApacheHadoop的Zookeeper子项目发展而来,现在已经成为了Apache的顶级项目。Zookeeper为分布式系统提供了高效可靠且易于使用的协同服务,它可以为分布式应用提供相当多的服务,诸如统一命名服务,配置管理,状态同步和组服务等。Zookeeper接口简单,开发人员不必过多地纠结在分布式系统编程难于处理的同步和一致性问题上,你可以使用Zookeeper提供的现成(off-the-shelf)服务来实现分布式系统的配置管理,组管理,Leader选举等功能。Zookeeper维护了大规模分布式系统中的常用对象,比如配置信息,层次化命名空间等
2、,本文将从开发者的角度详细介绍Zookeeper的配置信息的意义以及Zookeeper的典型应用场景(配置文件的管理、集群管理、分布式队列、同步锁、Leader选举、队列管理等)。Zookeeper安装与配置本文采用Zookeeper-3.4.0以基础介绍它的安装步骤以及配置信息,最新的代码可以到Zookeeper的官网:http://zookeeper.apache.org/下载。Zookeeper功能强大,但是安装却十分简单,下面重点以伪分布式模式来介绍Zookeeper的安装。伪分布式模式安装Zookeeper安装模式包括:单机模式,伪分布式模式和完全的集群模式。单机模式最简单,本文将
3、跳过单机模式安装(单机模式安装步骤参见Zeekeeper官方文档:http://zookeeper.apache.org/doc/current/zookeeperStarted.html),伪分布式模式与集群模式配置差别不大,由于手头机器有限,所以本文采用了在单台机器上伪分布式安装。本文在Ubuntu12.04上操作,Java环境为OpenJDK1.7。安装Zookeeper前首先下载你需要的版本,暂时解压到指定目录(本文解压至~/zookeeper/目录下),并修改配置(可能需要多次修改配置文件),本次伪分布式模拟5个Zookeeper节点,事先在/tmpzookeeper目录下建立5个
4、文件夹,分别命名为:server001,server002,server003,server004,server005,然后在每个server00#文件夹下面新建data和logs子文件夹。Zookeeper的配置文件主要在conf目录,包括zoo.cfg(zoo_sample.cfg)和log4j.properties,修改zoo_sample.cfg,重命名为zoo.cgf,打开zoo.cfg,内容如下:#ThenumberofmillisecondsofeachticktickTime=2000#Thenumberofticksthattheinitial#synchronizatio
5、nphasecantakeinitLimit=10#Thenumberofticksthatcanpassbetween#sendingarequestandgettinganacknowledgementsyncLimit=5#thedirectorywherethesnapshotisstored.#donotuse/tmpforstorage,/tmphereisjust#examplesakes.dataDir=/tmp/zookeeper#theportatwhichtheclientswillconnectclientPort=2181##Besuretoreadthemaint
6、enancesectionofthe#administratorguidebeforeturningonautopurge.##http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance##ThenumberofsnapshotstoretainindataDir#autopurge.snapRetainCount=3#Purgetaskintervalinhours#Setto"0"todisableautopurgefeature#autopurge.purgeInterval=1将内容修改为(se
7、rver001节点的配置文件):#ThenumberofmillisecondsofeachticktickTime=2000#Thenumberofticksthattheinitial#synchronizationphasecantakeinitLimit=10#Thenumberofticksthatcanpassbetween#sendingarequestandgettinganacknowled
此文档下载收益归作者所有