Duo Zhang created HBASE-24753:
---------------------------------
Summary: HA masters based on raft
Key: HBASE-24753
URL: https://issues.apache.org/jira/browse/HBASE-24753
Project: HBase
Issue Type: New Feature
Components: master
Reporter: Duo Zhang
For better availability, for moving bootstrap information from zookeeper to our
own service so finally we could remove the dependency on zookeeper completely.
This has been in my mind for a long time, and since the there is a dicussion in
HBASE-11288 about how to storing root table, and also in HBASE-24749, we want
to have better performance on a filesystem can not support list and rename
well, where requires a storage engine at the bottom to store the storefiles
information for meta table, I think it is the time to throw this idea out.
The basic solution is to build a raft group to store the bootstrap information,
for now it is cluster id(it is on the file system already?) and the root table.
For region servers they will always go to the leader to ask for the information
so they can always see the newest data, and for client, we enable 'follower
read', to reduce the load of the leader(and there are some solutions to even
let 'follower read' to always get the newest data in raft).
With this solution in place, as long as root table will not be in a format of
region(we could just use rocksdb to store it locally), the cyclic dependency in
HBASE-24749 has also been solved, as we do not need to find a place to store
the storefiles information for root table any more.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)