@InterfaceAudience.Private public class HBaseInterClusterReplicationEndpoint extends HBaseReplicationEndpoint
ReplicationEndpoint
implementation for replicating to another HBase cluster.
For the slave cluster it selects a random number of peers
using a replication ratio. For example, if replication ration = 0.1
and slave cluster has 100 region servers, 10 will be selected.
A stream is considered down when we cannot contact a region server on the peer cluster for more than 55 seconds by default.
Modifier and Type | Class and Description |
---|---|
protected class |
HBaseInterClusterReplicationEndpoint.Replicator |
HBaseReplicationEndpoint.PeerRegionServerListener
ReplicationEndpoint.Context, ReplicationEndpoint.ReplicateContext
Modifier and Type | Field and Description |
---|---|
private org.apache.hadoop.conf.Configuration |
conf |
private HConnection |
conn |
private ThreadPoolExecutor |
exec |
private static org.apache.commons.logging.Log |
LOG |
private int |
maxRetriesMultiplier |
private int |
maxThreads |
private MetricsSource |
metrics |
private boolean |
peersSelected |
private ReplicationSinkManager |
replicationSinkMgr |
private long |
sleepForRetries |
private int |
socketTimeoutMultiplier |
ctx
Constructor and Description |
---|
HBaseInterClusterReplicationEndpoint() |
Modifier and Type | Method and Description |
---|---|
private void |
connectToPeers() |
protected HBaseInterClusterReplicationEndpoint.Replicator |
createReplicator(List<WAL.Entry> entries,
int ordinal) |
private void |
decorateConf() |
protected void |
doStop() |
void |
init(ReplicationEndpoint.Context context)
Initialize the replication endpoint with the given context.
|
protected boolean |
isPeerEnabled() |
boolean |
replicate(ReplicationEndpoint.ReplicateContext replicateContext)
Do the shipping logic
|
protected boolean |
sleepForRetries(String msg,
int sleepMultiplier)
Do the sleeping logic
|
com.google.common.util.concurrent.Service.State |
stopAndWait() |
abort, disconnect, doStart, fetchSlavesAddresses, getLastRegionServerUpdate, getPeerUUID, getRegionServers, getZkw, isAborted, reconnect, setRegionServers
canReplicateToSameCluster, getScopeWALEntryFilter, getTableCfWALEntryFilter, getWALEntryfilter
isRunning, notifyFailed, notifyStarted, notifyStopped, start, startAndWait, state, stop, toString
private static final org.apache.commons.logging.Log LOG
private HConnection conn
private org.apache.hadoop.conf.Configuration conf
private long sleepForRetries
private int maxRetriesMultiplier
private int socketTimeoutMultiplier
private MetricsSource metrics
private ReplicationSinkManager replicationSinkMgr
private boolean peersSelected
private ThreadPoolExecutor exec
private int maxThreads
public HBaseInterClusterReplicationEndpoint()
public void init(ReplicationEndpoint.Context context) throws IOException
ReplicationEndpoint
init
in interface ReplicationEndpoint
init
in class BaseReplicationEndpoint
context
- replication contextIOException
private void decorateConf()
private void connectToPeers()
protected boolean sleepForRetries(String msg, int sleepMultiplier)
msg
- Why we sleepsleepMultiplier
- by how many times the default sleeping time is augmentedsleepMultiplier
is < maxRetriesMultiplier
public boolean replicate(ReplicationEndpoint.ReplicateContext replicateContext)
replicateContext
- a context where WAL entries and other
parameters can be obtained.protected boolean isPeerEnabled()
protected void doStop()
doStop
in class HBaseReplicationEndpoint
public com.google.common.util.concurrent.Service.State stopAndWait()
stopAndWait
in interface com.google.common.util.concurrent.Service
stopAndWait
in class com.google.common.util.concurrent.AbstractService
protected HBaseInterClusterReplicationEndpoint.Replicator createReplicator(List<WAL.Entry> entries, int ordinal)
Copyright © 2007–2019 The Apache Software Foundation. All rights reserved.