gbvc 发表于 2015-9-6 11:46:38

ZooKeeper应用技巧

  ZooKeeper应用技巧 - ZooKeeper - Hadoop技术论坛 - Powered by Discuz!

ZooKeeper应用技巧

有段时间没来论坛了,很高兴Hadoop的队伍越来越大。感恩于论坛的帮助,再结合前段时间对ZooKeeper的研究学习,现在和大家交流下ZooKeeper的应用(实现机制和工作原理论坛资料很丰富)。
   在ZooKeeper的分布式应用中,有两大类应用方式:
   1 .利用ZooKeeper类似于文件系统的存储模型,对外提供分组,配置管理,命名空间等服务。
   2 .利用ZooKeeper具有的Ephemeral Node及Watch trigger的特性, 实现某些业务逻辑(如Master-Slave)。

   第一类的应用调用ZooKeeper API即可:
   存:
   



[*]Stat stat = zookeeper.setData(path, data, version);
  复制代码
  
  
   取:
   




[*]byte[] data = zookeeper.getData(path, watch, stat);
  复制代码
  或者
   




[*]byte[] data zookeeper.getData(path, watcher, stat);
  复制代码
  
  
   第二类应用利用了Ephemeral Node标识后缀自动增长,Ephemeral Node在Session结束自动删除及Watch 实时一次触发的特性。
   例:实现Master-Slave模式的两种方案。
            1>   根据Ephemeral Node标识判断主从(ActiveMQ-apollo)。
            2>   根据Ephemeral Node存储信息判断主从(HBase)。
   在此类应用中,Watcher的设置最为关键 ,在Watcher 的触发事件中利用下面的状态信息进行某些业务逻辑处理,最终实现Master-Slave模式。
            




[*]EventType type = event.getType();
  复制代码
  
            




[*]String paht = event.getPath();
  复制代码
  
            




[*]KeeperState state = event.getState();
  复制代码
  
ZooKeeper的相关概念及具体特性请参照官方网站及论坛里的帖子。欢迎大家一起交流!!!
页: [1]
查看完整版本: ZooKeeper应用技巧