HBASE-4517 Document new replication features in 0.92
git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1177866 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
c80eaecce1
commit
1e606a3790
|
@ -74,6 +74,10 @@
|
||||||
and the master cluster will do its “best effort” to balance the stream
|
and the master cluster will do its “best effort” to balance the stream
|
||||||
of replication on the slave clusters by relying on randomization.
|
of replication on the slave clusters by relying on randomization.
|
||||||
</p>
|
</p>
|
||||||
|
<p>
|
||||||
|
As of version 0.92 HBase supports master/master and cyclic replication as
|
||||||
|
well as replication to multiple slaves.
|
||||||
|
</p>
|
||||||
<img src="images/replication_overview.png"/>
|
<img src="images/replication_overview.png"/>
|
||||||
</section>
|
</section>
|
||||||
<section name="Enabling replication">
|
<section name="Enabling replication">
|
||||||
|
@ -104,10 +108,14 @@
|
||||||
<p>
|
<p>
|
||||||
In a separate thread, the edit is read from the log (as part of a batch)
|
In a separate thread, the edit is read from the log (as part of a batch)
|
||||||
and only the KVs that are replicable are kept (that is, that they are part
|
and only the KVs that are replicable are kept (that is, that they are part
|
||||||
of a family scoped GLOBAL in the family's schema and non-catalog so not
|
of a family scoped GLOBAL in the family's schema, non-catalog so not
|
||||||
.META. or -ROOT-). When the buffer is filled, or the reader hits the
|
.META. or -ROOT-, and did not originate in the target slave cluster - in
|
||||||
end of the file, the buffer is sent to a random region server on the
|
case of cyclic replication).
|
||||||
slave cluster.
|
</p>
|
||||||
|
<p>
|
||||||
|
The edit is then tagged with the master's cluster UUID.
|
||||||
|
When the buffer is filled, or the reader hits the end of the file,
|
||||||
|
the buffer is sent to a random region server on the slave cluster.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Synchronously, the region server that receives the edits reads them
|
Synchronously, the region server that receives the edits reads them
|
||||||
|
@ -115,6 +123,8 @@
|
||||||
Once all edits are read, each buffer is flushed using the normal HBase
|
Once all edits are read, each buffer is flushed using the normal HBase
|
||||||
client (HTables managed by a HTablePool). This is done in order to
|
client (HTables managed by a HTablePool). This is done in order to
|
||||||
leverage parallel insertion (MultiPut).
|
leverage parallel insertion (MultiPut).
|
||||||
|
The master's cluster UUID is retained in the edits applied at the
|
||||||
|
slave cluster in order to allow cyclic replication.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Back in the master cluster's region server, the offset for the current
|
Back in the master cluster's region server, the offset for the current
|
||||||
|
@ -394,18 +404,6 @@
|
||||||
queues of another dead RS, we will miss the data from the queues
|
queues of another dead RS, we will miss the data from the queues
|
||||||
that weren't copied.
|
that weren't copied.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
|
||||||
HBASE-2196, a master cluster can only support a single slave, some
|
|
||||||
refactoring is needed to support this.
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
HBASE-2195, edits are applied disregard their home cluster, it should
|
|
||||||
carry that data and check it.
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
HBASE-3130, the master cluster needs to be restarted if its region
|
|
||||||
servers lose their session with a slave cluster.
|
|
||||||
</li>
|
|
||||||
</ol>
|
</ol>
|
||||||
</section>
|
</section>
|
||||||
</body>
|
</body>
|
||||||
|
|
Loading…
Reference in New Issue