org.apache.hadoop.hbase.zookeeper
Class ZKLeaderManager
java.lang.Object
org.apache.hadoop.hbase.zookeeper.ZooKeeperListener
org.apache.hadoop.hbase.zookeeper.ZKLeaderManager
public class ZKLeaderManager
- extends ZooKeeperListener
Handles coordination of a single "leader" instance among many possible
candidates. The first ZKLeaderManager
to successfully create
the given znode becomes the leader, allowing the instance to continue
with whatever processing must be protected. Other ZKLeaderManager
instances will wait to be notified of changes to the leader znode.
If the current master instance fails, the ephemeral leader znode will
be removed, and all waiting instances will be notified, with the race
to claim the leader znode beginning all over again.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ZKLeaderManager
public ZKLeaderManager(ZooKeeperWatcher watcher,
String leaderZNode,
byte[] identifier,
Stoppable candidate)
start
public void start()
nodeCreated
public void nodeCreated(String path)
- Description copied from class:
ZooKeeperListener
- Called when a new node has been created.
- Overrides:
nodeCreated
in class ZooKeeperListener
- Parameters:
path
- full path of the new node
nodeDeleted
public void nodeDeleted(String path)
- Description copied from class:
ZooKeeperListener
- Called when a node has been deleted
- Overrides:
nodeDeleted
in class ZooKeeperListener
- Parameters:
path
- full path of the deleted node
waitToBecomeLeader
public void waitToBecomeLeader()
- Blocks until this instance has claimed the leader ZNode in ZooKeeper
stepDownAsLeader
public void stepDownAsLeader()
- Removes the leader znode, if it is currently claimed by this instance.
hasLeader
public boolean hasLeader()
Copyright © 2012 The Apache Software Foundation. All Rights Reserved.