-
Notifications
You must be signed in to change notification settings - Fork 4.8k
HIVE-29391: Enable Independent Scaling of HMS REST Catalog from HMS #6270
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
f846f08 to
d02fe25
Compare
|
|
The intention sounds great! I have one challenge: Do we really need active-passive with ZooKeeper? RESTful API should always be able to make use of a load balancer, whose configuration is typically easier than ZK. |
|
@okumin Active-passive mode is not necessary for scaling, but active-active seems to what is needed. I used Zookeeper for consistency and code reuse, because it is already used in several places in Hive. |
@difin FYI there is an ongoing work to decommission Zookeeper. btw, why do we need coordinator here? i would envision the following flow: |
while we're looking for native kubernetes alternatives for things we're currently doing with ZK, ZK is still a valid choice, as getting rid of it in the whole hive codebase would be too much in one go, especially because it's battle-tested, so reusing |
I also think this is more than enough in most cases. |



What changes were proposed in this pull request?
Adding ability for scaling HMS REST Catalog Server independently from HMS.
Currently, HMS REST Catalog Server is tied to HMS, it can be started only together with HMS in a single instance.
This PR proposes HA mode for HMS REST Catalog Server with horizontal scaling when active-active mode is used.
HA Modes:
HA for HMS REST Catalog Server was implemented using
ZkRegistryBase, same as HS2 HA mode.Why are the changes needed?
Allows independent scaling from HMS of the HMS REST Catalog Server.
Does this PR introduce any user-facing change?
No
How was this patch tested?
New integration tests.