欢迎来到天天文库
浏览记录
ID:27650133
大小:459.51 KB
页数:15页
时间:2018-12-05
《分布式服务框架zookeeper--管理分布式环境中的数据》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、分布式服务框架Zookeeper-管理分布式环境中的数据简介:Zookeeper分布式服务框架是ApacheHadoop的一个子项0,它主要是用来解决分布式应川屮经常遇到的一些数据管理M题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。本文将从使用者角度详细介绍Zookeeper的安装和配置文件中各个配置项的意义,以及分析Zookeeper的典型的应用场景(配置文件的管理、集群管理、同步锁、Leader选举、队列管理等),用java实现它们并给出示例代码。安装和配置详解本文介绍的Zook
2、eeper是以3.2.2这个稳定版本为基础,最新的版本可以通过官网http://hadoop.apache.org/zookeeper/来获取,Zookeeper的安装非常简单,下而将从单机模式和集群模式两个方面介绍Zookeeper的安装和配置。单机模式单机安装非常简单,只要获取到Zookeeper的压缩包并解压到某个目录如:/home/zookeeper-3.2.2下,Zookeeper的启动脚本在bin目录下,Linux下的启动脚本是zkServer.sh,在3.2.2这个版本Zookeeper没有提供
3、windows下的启动脚本,所以要想在windows下启动Zookeeper要自己手工写一个,如清单1所示:清单1.Windows下Zookeeper启动脚本setlocalsetZOOCFGDIR=%-dpOc?:.AconfsetZOO_LOG_DIR-%-dpO%..setZOO_LCX34J_PROP=INFO,CONSOLEsetCLASSPATH=%ZOOCFGDIR%setCLASSPATH=%-dpO..*:%-dpO.AlibV;%CLASSPATH^setCLASSPATH-%-dpO.
4、.buildclasses;%-dpO••buiIdIib*;%CLASSPATH%setZOOCFG=%ZOOCFGDIR%zoo.cfgsetZOOVAIN=org.apache.zookeeper-server.ZooKeeperServerMainjava"-Dzookeeper.log.dir=%ZOO_LOG_DIR%M°-Dzookeeper.root-1ogger=%Z00_L0G4J_PROP%**-cp.'CLASSPATH%"%ZOOt.,AIM%"%ZOOCFG%"%*en
5、dIocaI在你执行启动脚本之前,还有几个基本的配置项需要配置一下,Zookeeper的配置文件在conf目录下,这个目录下有zoo_sample.cfg和Iog4j.properties,你需要做的就是将zoo_sample.cfg改名为zoo.cfg,因为Zookeeper在启动时会找这个文件作为默认配置文件。下面详细介绍一下,这个配置文件屮各个配置项的意义。tickTime=2000dataDir=D:/devtooIs/zookeeper-3.2.2/buiIdclientPort=2l81•tick
6、Time:这个时间是作为Zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个tickTime时间就会发送一个心跳。•dataDir:顾名思义就是Zookeeper保存数据的0录,默认情况下,Zookeeper将写数据的口志文件也保存在这个目录里。•clientPort:这个端口就是'各户端选接Zookeeper服务器的端口,Zookeeper会监听这个端口,接受客户端的访问请求。当这些配置项配置好后,你现在就可以启动Zookeeper了,启动后要检査Zookeeper是否己经在服务,
7、可以通过netstat-ano命令查看是否有你配置的clientPort端II号在监听服务。集群模式Zookeeper不仅可以单机提供服务,同时也支持多机组成集群来提供服务。实际上Zookeeper还支持另外一•种伪集群的方式,也就是可以在一台物理机上运行多个Zookeeper实例,下面将介绍集群模式的安装和配置。Zookeeper的集群模式的安装和配置也不是很复杂,所要做的就是增加几个配置项。集群模式除了上而的三个配置项还要增加下而儿个配置项:initLimit=5syncLimit=2server.1=1
8、92.168.211.1:2888:3888server.2-192.168.211.2:2888:3888•initLimit:这个配置项是用来配置Zookeeper接受客户端(这里所说的客户端不是川户连按Zookeeper服务器的客户端,而是Zookeeper服务器集群巾连接到Leader的Follower服务器)初始化连接时最长能忍受多少个心跳时间间隔数。当l!•经超过10个心跳的时间(也就是
此文档下载收益归作者所有