|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.hadoop.hbase.replication.ReplicationStateZKBase
org.apache.hadoop.hbase.replication.ReplicationPeersZKImpl
@InterfaceAudience.Private public class ReplicationPeersZKImpl
This class provides an implementation of the ReplicationPeers interface using Zookeeper. The peers znode contains a list of all peer replication clusters and the current replication state of those clusters. It has one child peer znode for each peer cluster. The peer znode is named with the cluster id provided by the user in the HBase shell. The value of the peer znode contains the peers cluster key provided by the user in the HBase Shell. The cluster key contains a list of zookeeper quorum peers, the client port for the zookeeper quorum, and the base znode for HBase. For example: /hbase/replication/peers/1 [Value: zk1.host.com,zk2.host.com,zk3.host.com:2181:/hbase] /hbase/replication/peers/2 [Value: zk5.host.com,zk6.host.com,zk7.host.com:2181:/hbase] Each of these peer znodes has a child znode that indicates whether or not replication is enabled on that peer cluster. These peer-state znodes do not have child znodes and simply contain a boolean value (i.e. ENABLED or DISABLED). This value is read/maintained by the ReplicationPeer.PeerStateTracker class. For example: /hbase/replication/peers/1/peer-state [Value: ENABLED] Each of these peer znodes has a child znode that indicates which data will be replicated to the peer cluster. These peer-tableCFs znodes do not have child znodes and only have a table/cf list config. This value is read/maintained by the ReplicationPeer.TableCFsTracker class. For example: /hbase/replication/peers/1/tableCFs [Value: "table1; table2:cf1,cf3; table3:cfx,cfy"]
Field Summary |
---|
Fields inherited from class org.apache.hadoop.hbase.replication.ReplicationStateZKBase |
---|
abortable, conf, DISABLED_ZNODE_BYTES, ENABLED_ZNODE_BYTES, ourClusterKey, peerStateNodeName, peersZNode, queuesZNode, replicationZNode, zookeeper |
Constructor Summary | |
---|---|
ReplicationPeersZKImpl(ZooKeeperWatcher zk,
org.apache.hadoop.conf.Configuration conf,
Abortable abortable)
|
Method Summary | |
---|---|
void |
addPeer(String id,
ReplicationPeerConfig peerConfig,
String tableCFs)
Add a new remote slave cluster for replication. |
boolean |
createAndAddPeer(String peerId)
Attempt to connect to a new remote slave cluster. |
void |
disablePeer(String id)
Stop the replication to the specified remote slave cluster. |
void |
enablePeer(String id)
Restart the replication to the specified remote slave cluster. |
Map<String,ReplicationPeerConfig> |
getAllPeerConfigs()
List the cluster replication configs of all remote slave clusters (whether they are enabled/disabled or connected/disconnected). |
List<String> |
getAllPeerIds()
List all registered peer clusters and set a watch on their znodes. |
ReplicationPeer |
getPeer(String peerId)
Returns the ReplicationPeer |
Pair<ReplicationPeerConfig,org.apache.hadoop.conf.Configuration> |
getPeerConf(String peerId)
Returns the configuration needed to talk to the remote slave cluster. |
Set<String> |
getPeerIds()
Returns the set of peerIds defined |
String |
getPeerTableCFsConfig(String id)
Get the table and column-family list string of the peer from ZK. |
ReplicationPeerConfig |
getReplicationPeerConfig(String peerId)
Returns the configured ReplicationPeerConfig for this peerId |
boolean |
getStatusOfPeer(String id)
Get the replication status for the specified connected remote slave cluster. |
boolean |
getStatusOfPeerFromBackingStore(String id)
Get the replication status for the specified remote slave cluster, which doesn't have to be connected. |
Map<String,List<String>> |
getTableCFs(String id)
Get the table and column-family-list map of the peer. |
void |
init()
Initialize the ReplicationPeers interface. |
boolean |
peerAdded(String peerId)
|
void |
peerRemoved(String peerId)
|
void |
removePeer(String id)
Removes a remote slave cluster and stops the replication to it. |
void |
setPeerTableCFsConfig(String id,
String tableCFsStr)
Set the table and column-family list string of the peer to ZK. |
Methods inherited from class org.apache.hadoop.hbase.replication.ReplicationStateZKBase |
---|
getListOfReplicators, isPeerPath, peerExists, toByteArray |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ReplicationPeersZKImpl(ZooKeeperWatcher zk, org.apache.hadoop.conf.Configuration conf, Abortable abortable)
Method Detail |
---|
public void init() throws ReplicationException
ReplicationPeers
init
in interface ReplicationPeers
ReplicationException
public void addPeer(String id, ReplicationPeerConfig peerConfig, String tableCFs) throws ReplicationException
ReplicationPeers
addPeer
in interface ReplicationPeers
id
- a short that identifies the clusterpeerConfig
- configuration for the replication slave clustertableCFs
- the table and column-family list which will be replicated for this peer or null
for all table and column families
ReplicationException
public void removePeer(String id) throws ReplicationException
ReplicationPeers
removePeer
in interface ReplicationPeers
id
- a short that identifies the cluster
ReplicationException
public void enablePeer(String id) throws ReplicationException
ReplicationPeers
enablePeer
in interface ReplicationPeers
id
- a short that identifies the cluster
ReplicationException
public void disablePeer(String id) throws ReplicationException
ReplicationPeers
disablePeer
in interface ReplicationPeers
id
- a short that identifies the cluster
ReplicationException
public String getPeerTableCFsConfig(String id) throws ReplicationException
ReplicationPeers
getPeerTableCFsConfig
in interface ReplicationPeers
id
- a short that identifies the cluster
ReplicationException
public void setPeerTableCFsConfig(String id, String tableCFsStr) throws ReplicationException
ReplicationPeers
setPeerTableCFsConfig
in interface ReplicationPeers
id
- a short that identifies the clustertableCFsStr
- the table and column-family list which will be replicated for this peer
ReplicationException
public Map<String,List<String>> getTableCFs(String id) throws IllegalArgumentException
ReplicationPeers
getTableCFs
in interface ReplicationPeers
id
- a short that identifies the cluster
IllegalArgumentException
public boolean getStatusOfPeer(String id)
ReplicationPeers
ReplicationPeers.getStatusOfPeerFromBackingStore(String)
if reading the state after enabling or disabling it.
getStatusOfPeer
in interface ReplicationPeers
id
- a short that identifies the cluster
public boolean getStatusOfPeerFromBackingStore(String id) throws ReplicationException
ReplicationPeers
getStatusOfPeerFromBackingStore
in interface ReplicationPeers
id
- a short that identifies the cluster
ReplicationException
public Map<String,ReplicationPeerConfig> getAllPeerConfigs()
ReplicationPeers
getAllPeerConfigs
in interface ReplicationPeers
public ReplicationPeerConfig getReplicationPeerConfig(String peerId) throws ReplicationException
ReplicationPeers
getReplicationPeerConfig
in interface ReplicationPeers
peerId
- a short name that identifies the cluster
ReplicationException
public Pair<ReplicationPeerConfig,org.apache.hadoop.conf.Configuration> getPeerConf(String peerId) throws ReplicationException
ReplicationPeers
getPeerConf
in interface ReplicationPeers
peerId
- a short that identifies the cluster
ReplicationException
public Set<String> getPeerIds()
ReplicationPeers
getPeerIds
in interface ReplicationPeers
public ReplicationPeer getPeer(String peerId)
ReplicationPeers
getPeer
in interface ReplicationPeers
peerId
- id for the peer
public List<String> getAllPeerIds()
getAllPeerIds
in interface ReplicationPeers
public boolean peerAdded(String peerId) throws ReplicationException
peerAdded
in interface ReplicationPeers
ReplicationException
public void peerRemoved(String peerId)
peerRemoved
in interface ReplicationPeers
public boolean createAndAddPeer(String peerId) throws ReplicationException
peerId
- a short that identifies the cluster
ReplicationException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |