@InterfaceAudience.Private public class ReplicationPeersZKImpl extends ReplicationStateZKBase implements ReplicationPeers
| Modifier and Type | Field and Description |
|---|---|
private Abortable |
abortable |
private static org.slf4j.Logger |
LOG |
private Map<String,ReplicationPeerZKImpl> |
peerClusters |
private ReplicationQueuesClient |
queuesClient |
conf, DISABLED_ZNODE_BYTES, ENABLED_ZNODE_BYTES, hfileRefsZNode, ourClusterKey, peerStateNodeName, peersZNode, queuesZNode, replicationZNode, tableCFsNodeName, zookeeper, ZOOKEEPER_ZNODE_REPLICATION_HFILE_REFS_DEFAULT, ZOOKEEPER_ZNODE_REPLICATION_HFILE_REFS_KEY| Constructor and Description |
|---|
ReplicationPeersZKImpl(ZKWatcher zk,
org.apache.hadoop.conf.Configuration conf,
ReplicationQueuesClient queuesClient,
Abortable abortable) |
| Modifier and Type | Method and Description |
|---|---|
private void |
addExistingPeers()
A private method used during initialization.
|
private void |
changePeerState(String id,
org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ReplicationState.State state)
Update the state znode of a peer cluster.
|
private void |
checkQueuesDeleted(String peerId) |
boolean |
createAndAddPeer(String peerId)
Attempt to connect to a new remote slave cluster.
|
private ReplicationPeerZKImpl |
createPeer(String peerId)
Helper method to connect to a peer
|
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 |
getConnectedPeer(String peerId)
Returns the ReplicationPeer for the specified connected peer.
|
Set<String> |
getConnectedPeerIds()
Returns the set of peerIds of the clusters that have been connected and have an underlying
ReplicationPeer.
|
Pair<ReplicationPeerConfig,org.apache.hadoop.conf.Configuration> |
getPeerConf(String peerId)
Returns the configuration needed to talk to the remote slave cluster.
|
Map<TableName,List<String>> |
getPeerTableCFsConfig(String id)
Get the table and column-family list string of the peer from the underlying storage.
|
ReplicationPeerConfig |
getReplicationPeerConfig(String peerId)
Returns a ReplicationPeerConfig from the znode or null for the given 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.
|
void |
init()
Initialize the ReplicationPeers interface.
|
private boolean |
isStringEquals(String s1,
String s2)
For replication peer cluster key or endpoint class, null and empty string is same.
|
boolean |
peerConnected(String peerId)
Method called after a peer has been connected.
|
void |
peerDisconnected(String peerId)
Method called after a peer has been disconnected.
|
void |
registerPeer(String id,
ReplicationPeerConfig peerConfig,
boolean enabled)
Add a new remote slave cluster for replication.
|
void |
setPeerTableCFsConfig(String id,
Map<TableName,? extends Collection<String>> tableCFs)
Set the table and column-family list string of the peer to the underlying storage.
|
void |
unregisterPeer(String id)
Removes a remote slave cluster and stops the replication to it.
|
void |
updatePeerConfig(String id,
ReplicationPeerConfig newConfig)
Update the peerConfig for the a given peer cluster
|
getListOfReplicatorsZK, getPeerNode, getPeerStateNode, getTableCFsNode, isPeerPath, peerExists, toByteArrayclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitregisterPeerprivate Map<String,ReplicationPeerZKImpl> peerClusters
private final ReplicationQueuesClient queuesClient
private static final org.slf4j.Logger LOG
public ReplicationPeersZKImpl(ZKWatcher zk, org.apache.hadoop.conf.Configuration conf, ReplicationQueuesClient queuesClient, Abortable abortable)
public void init() throws ReplicationException
ReplicationPeersinit in interface ReplicationPeersReplicationExceptionpublic void registerPeer(String id, ReplicationPeerConfig peerConfig, boolean enabled) throws ReplicationException
ReplicationPeersregisterPeer in interface ReplicationPeersid - a short that identifies the clusterpeerConfig - configuration for the replication slave clusterenabled - peer state, true if ENABLED and false if DISABLEDReplicationExceptionpublic void unregisterPeer(String id) throws ReplicationException
ReplicationPeersunregisterPeer in interface ReplicationPeersid - a short that identifies the clusterReplicationExceptionpublic void enablePeer(String id) throws ReplicationException
ReplicationPeersenablePeer in interface ReplicationPeersid - a short that identifies the clusterReplicationExceptionpublic void disablePeer(String id) throws ReplicationException
ReplicationPeersdisablePeer in interface ReplicationPeersid - a short that identifies the clusterReplicationExceptionpublic Map<TableName,List<String>> getPeerTableCFsConfig(String id) throws ReplicationException
ReplicationPeersgetPeerTableCFsConfig in interface ReplicationPeersid - a short that identifies the clusterReplicationExceptionpublic void setPeerTableCFsConfig(String id, Map<TableName,? extends Collection<String>> tableCFs) throws ReplicationException
ReplicationPeerssetPeerTableCFsConfig in interface ReplicationPeersid - a short that identifies the clustertableCFs - the table and column-family list which will be replicated for this peerReplicationExceptionpublic boolean getStatusOfPeer(String id)
ReplicationPeersReplicationPeers.getStatusOfPeerFromBackingStore(String)
if reading the state after enabling or disabling it.getStatusOfPeer in interface ReplicationPeersid - a short that identifies the clusterpublic boolean getStatusOfPeerFromBackingStore(String id) throws ReplicationException
ReplicationPeersgetStatusOfPeerFromBackingStore in interface ReplicationPeersid - a short that identifies the clusterReplicationException - thrown if there's an error contacting the storepublic Map<String,ReplicationPeerConfig> getAllPeerConfigs()
ReplicationPeersgetAllPeerConfigs in interface ReplicationPeerspublic ReplicationPeer getConnectedPeer(String peerId)
ReplicationPeersgetConnectedPeer in interface ReplicationPeerspeerId - id for the peerpublic Set<String> getConnectedPeerIds()
ReplicationPeersgetConnectedPeerIds in interface ReplicationPeerspublic ReplicationPeerConfig getReplicationPeerConfig(String peerId) throws ReplicationException
getReplicationPeerConfig in interface ReplicationPeerspeerId - a short name that identifies the clusterReplicationExceptionpublic Pair<ReplicationPeerConfig,org.apache.hadoop.conf.Configuration> getPeerConf(String peerId) throws ReplicationException
ReplicationPeersgetPeerConf in interface ReplicationPeerspeerId - a short that identifies the clusterReplicationExceptionpublic void updatePeerConfig(String id, ReplicationPeerConfig newConfig) throws ReplicationException
ReplicationPeersupdatePeerConfig in interface ReplicationPeersid - a short that identifies the clusternewConfig - new config for the peer clusterReplicationExceptionpublic List<String> getAllPeerIds()
getAllPeerIds in interface ReplicationPeersprivate void addExistingPeers() throws ReplicationException
ReplicationExceptionpublic boolean peerConnected(String peerId) throws ReplicationException
ReplicationPeerspeerConnected in interface ReplicationPeerspeerId - a short that identifies the clusterReplicationExceptionpublic void peerDisconnected(String peerId)
ReplicationPeerspeerDisconnected in interface ReplicationPeerspeerId - a short that identifies the clusterpublic boolean createAndAddPeer(String peerId) throws ReplicationException
peerId - a short that identifies the clusterReplicationExceptionprivate void changePeerState(String id, org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ReplicationState.State state) throws ReplicationException
id - state - ReplicationExceptionprivate ReplicationPeerZKImpl createPeer(String peerId) throws ReplicationException
peerId - peer's identifierReplicationExceptionprivate void checkQueuesDeleted(String peerId) throws ReplicationException
ReplicationExceptionprivate boolean isStringEquals(String s1, String s2)
StringUtils.equals(CharSequence, CharSequence) directly.Copyright © 2007–2019 The Apache Software Foundation. All rights reserved.