美文网首页
三、HBase依赖服务

三、HBase依赖服务

作者: loukey_j | 来源:发表于2020-01-13 13:55 被阅读0次

    1、zookeeper在HBase中的分布式锁具体实现步骤如下

    1)客户端调用create()方法创建名为‘locknode/lock-'的节点,节点的创建类型需要设置为EPHEMERAL_SEQUENTIAL

    2)客户端调用getChildren("locknode")方法获取所有已经创建的子节点

    3)客户端获取到所有子节点的path之后,如果发现自己在步骤1)中创建的节点序号最小那么就认为这个客户端获得了锁

    4)如果在3)步骤发现自己并非所有子节点中最小的,说明集群中其他进程获取到了这个把锁,此时客户端需要找到最小子节点,然后对其调用exist()方法,同事注册事件监听

    5)一旦最下子节点对于的进程释放了分布式锁,对应的临时节点会被移除。客户端因为注册了事件监听而受到了相应的通知。这个时候客户端需要再次调用getChildren('locknode')方法来获取所有已经创建的子节点,然后进入步骤3。

    相关文章

      网友评论

          本文标题:三、HBase依赖服务

          本文链接:https://www.haomeiwen.com/subject/mdggactx.html