zoukankan      html  css  js  c++  java
  • ZooKeeper应用技巧

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

    ZooKeeper应用技巧

    有段时间没来论坛了,很高兴Hadoop的队伍越来越大。感恩于论坛的帮助,再结合前段时间对ZooKeeper的研究学习,现在和大家交流下ZooKeeper的应用(实现机制和工作原理论坛资料很丰富)。

        在ZooKeeper的分布式应用中,有两大类应用方式:

        1 .  利用ZooKeeper类似于文件系统的存储模型,对外提供分组,配置管理,命名空间等服务

        2 .  利用ZooKeeper具有的Ephemeral Node及Watch trigger的特性, 实现某些业务逻辑(如Master-Slave)。



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

        存:

       
    1. Stat stat = zookeeper.setData(path, data, version);

    复制代码



        取:

       

    1. byte[] data = zookeeper.getData(path, watch, stat);

    复制代码

    或者

       

    1. 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模式。

               

    1. EventType type = event.getType();

    复制代码

       

               

    1. String paht = event.getPath();

    复制代码



               

    1. KeeperState state = event.getState();

    复制代码



    ZooKeeper的相关概念及具体特性请参照官方网站及论坛里的帖子。欢迎大家一起交流!!!

  • 相关阅读:
    python目录
    面向对象
    模块(二)
    python函数(四)
    助教工作总结
    第五次个人作业:个人总结
    Typroa编写的图片上传博客园
    msfconsole利用ms17-010和ms12-020攻击
    第四次个人作业——案例分析
    助教周报(第二轮)
  • 原文地址:https://www.cnblogs.com/lexus/p/2390181.html
Copyright © 2011-2022 走看看