[ 
https://issues.apache.org/jira/browse/HBASE-24753?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17166058#comment-17166058
 ] 

Duo Zhang commented on HBASE-24753:
-----------------------------------

Update: I was trying to make use of the sofa-jraft, but it depends on protobuf 
3.x, so I tried to set hadoop.version to 3.3.0, as hadoop 3.3.0 has shaded 
protobuf, so we can purge all the protobuf 2.5 dependencies. But then I noticed 
that there is a problem for support hadoop 3.3.0 because of the conflict on 
jetty version.

So I'm currently working on shade jetty to solve the problem first.

> 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
>            Priority: Major
>
> 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)

Reply via email to