一、  zookeeper是分布式服务框架;它主要是用来解决分布式应用中经常遇到的一些数据管理问题

       如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等;

       Zookeeper 不仅可以单机提供服务,同时也支持多机组成集群来提供服务;

      

      Zookeeper 作为一个分布式的服务框架,主要用来解决分布式集群中应用系统的一致性问题,它

         能提供基于类似于文件系统的目录节点树方式的数据存储,但是 

      Zookeeper 并不是用来专门存储数据的,它的作用主要是用来维护和监控你存储的数据的状态变

         化。通过监控这些数据状态的变化,从而可以达到基于数据的集群管理

     

      ZooKeeper 典型的应用场景:

         Zookeeper 从设计模式角度来看,是一个基于观察者模式设计的分布式服务管理框架,它负责

         存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,

         Zookeeper 就将负责通知已经在 Zookeeper 上注册的那些观察者做出相应的反应,从而实现

         集群中类似 Master/Slave 管理模式.


        1) 统一命名服务: 分布式应用中,通常需要有一套完整的命名规则,既能够产生唯一的名称又

           便于人识别和记住;通常情况下用树形的名称结构是一个理想的选择,树形的名称结构是一

           个有层次的目录结构,既对人友好又不会重复.但是 Zookeeper 的 NameService 更加是广

           泛意义上的关联,也许你并不需要将名称关联到特定资源上,你可能只需要一个不会重复名

           称,就像数据库中产生一个唯一的数字主键一样。

        2)配置管理: 

                .)  配置的管理在分布式应用环境中很常见,例如同一个应用系统需要多台 PC 

                         Server 运行,但是它们运行的应用系统的某些配置项是相同的,如果要修改

                         这些相同的配置项,那么就必须同时修改每台运行这个应用系统的 PC 

                         Server,这样非常麻烦而且容易出错.

       .)  像这样的配置信息完全可以交给 Zookeeper 来管理,将配置信息保存Zookeeper

                    的某个目录节点中,然后将所有需要修改的应用机器监控配置信息的状态,

                    一旦配置信息发生变化,每台应用机器就会收到 Zookeeper 的通知,然后从
                    Zookeeper 获取新的配置信息应用到系统中

         3)集群管理:

                     Zookeeper 能够很容易的实现集群管理的功能,如有多台 Server 组成一个服务

                     集群,那么必须要一个“总管”知道当前集群中每台机器的服务状态, 一旦有

                     机器不能提供服务,集群中其它集群必须知道,从而做出调整重新分配服务策

                     略。同样当增加集群的服务能力时,就会增加一台或多台 Server,同样也必须                      让“总管”知道.Zookeeper 不仅能够帮你维护当前的集群中机器的服务状态,

                     而且能够帮你选出一个“总管”,让这个总管来管理集群,这就是 Zookeeper

                     的另一个功能Leader Election。

          4)共享锁(Locks):

                     共享锁在同一个进程中很容易实现,但是在跨进程或者在不同 Server 之间就

                     不好实现了。Zookeeper 却很容易实现这个功能

                 

      分布式: 

          1)  分布式系统:  是支持分布式处理的软件系统。

          2)  分布式处理:   则是将不同地点的,或具有不同功能的,或拥有不同数据的多台计算机

                            通过通信网络连接起来,在控制系统的统一管理控制下,协调完成大规

                            模信息处理任务的计算机系统。

         3) 总 结: 分布式,就是多台计算机上的多个系统在同一个控制系统的协调管控下,处理大

                    规模的任务。


       集 群:相互独立的计算机通过网络,构成一个组,并以单一系统的模式加以管理。客户机访问

              集群时,集群就像是一个独立的服务器。

           1) 目 的:。)提高性能: 提高处理性能一直是集群技术研究的一个重要目标之一.

                     。)  降低成本: 在达到同样性能的条件下,采用计算机集群比采用同等运算能

                          力的大型计算机具有更高的性价比。

                     。)  提高可扩展性: 集群技术,则只需要将新的服务器加入集群中即可

             。)  增强可靠性: 集群技术使系统在故障发生时仍可以继续工作,将系统停运

                          时间减到最小   

           2) 分 类:

                        .) 负载均衡集群: 使负载可以在计算机集群中尽可能平均地分摊处理

                        .) 高可用性集群: 当集群中的一个系统发生故障时,集群软件迅速做出反

                           应,将该系统的任务分配到集群中其它正在工作的系统上执行。

           3) 总 结: 集群,就是多台计算机上运行单一系统,组成一个组,对外提供服务.

           

二、经过个人测试,发现zoo.cfg配置文件中的ip地址如果写成localhost,有时会提示无法连接到服务     器的问题。最好写成ip地址,如 127.0.0.1

   http://coolxing.iteye.com/blog/1871520/  ---;这是一个例子


http://www.ibm.com/developerworks/cn/opensource/os-cn-zookeeper/index.html#major3