码迷,mamicode.com
首页 > 其他好文 > 详细

Zookeeper -- 管理分布式环境中的数据

时间:2015-01-23 13:32:00      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:

1、zookeeper配置文件简介:
          * zookeeper的配置文件在conf目录下,有zoo_sample.cfg, 需要将zoo_sample.cfg 改为zoo.cfg,因为zookeeper在启动时会找这个文件作为默认的配置文件。
          * 参数:
               tickTime:zookeeper服务器或者客户端与服务器之间维持心跳时间间隔参数。每个ticktime时间就会发送一个心跳。
               dataDir : zookeeper数据存储目录。默认情况会把日志文件保存到这个目录。
               clientPort :zookeeper服务器商品,zookeeper会监听这个端口,接受客户端的请求。


2、集群模式:
     zookeeper不仅可以单机提供服务,同时也支持多机组成集群来提供服务。实际上zookeeper还支持另外一种伪集群的方式,就是可以在一台机器人上配置多个zookeeper实例。
          配置(zoo.cfg):
           initLimit=5 
           syncLimit=2 
           server.1=192.168.211.1:2888:3888 
           server.2=192.168.211.2:2888:3888
     * initLimit :这个配置项是用来配置zookeeper接受客户端初始化连接时最长能忍受多少个心跳时间间隔数。
     * syncLimit : leader与Follower之间发送消息、请求应用于时间长度,最长不能超过多少个ticktime的时间长度。
     * server.A = B : C : D   其中A是一个数字,表示这是第几号服务器;B是这服务器的ip地址;  C表示的是这个服务器与集群中的leader服务器交换信息的端口; D表示的是万一集群中的leader服务器挂了,需要一个端口来重新进行选举新的leader。
除了修改zoo.cfg配置文件,集群模式下还要配置一个文件myid, 这个文件在dataDir目录下,这个文件里面就是一个数据就是A的值,zookeeper启动时会读取这个文件,拿到里面的数据与zoo.cfg里面的配置信息从而判断到底是哪个server。

3、应用场景
     Zookeeper人设计模式的角度来看是一个观察者模式的分布式服务管理框架,负责存储和管理大家关心的数据,然后接受观察者的注册,一旦这些数据发生变化,Zookeeper就会负责通知已经注册过了的那些observer做出相应的反应,从而实现集群中类似的Master、Slave管理模式。

     * 统一命名服务(Name Service)
          分布式应用中,通常需要有一套完整的命名规则, 能够产生唯一的名称 又便于人识别和记住,通常情况下用树形的名称结构是一个理想的选择,树形的名称结构是一个有层次的目录结构,即对人友好又不会重复。 Name Service是Zookeeper内置的功能, 只须调用其api就可以实现。如调用 create接口就可以容易的创建 一个目录节点。(与JNDI 差不多吧)
     * 配置管理
          配置的管理费用在分布式应用环境中很常见,例如同一个应用系统需要多个pc server运行, 但是它们运行的应用系统的某些配置项是相同的,如果要修改这些相同的的配置项,那么就必须同时修改每台运行这个应用系统的PCserver 这样非常容易出错。  像这样的配置信息完全可以交给zookeeper管理,将配置信息保存在zookeeper的某个目录节点上,然后将所有需要修改的应用机器监控配置信息的状态,一旦配置信息发生变化,每台机器就会收zookeeper的通知。
技术分享


Zookeeper -- 管理分布式环境中的数据

标签:

原文地址:http://blog.csdn.net/lz19880318/article/details/43052995

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!