-
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. |
|
Thanks everyone! I am changing the implementation to support this flow, without Zookeeper:
|
fc55364 to
139244e
Compare
139244e to
de28c69
Compare
de28c69 to
b20f5e7
Compare
b20f5e7 to
7afe72b
Compare
|



What changes were proposed in this pull request?
Adds a standalone HMS REST Catalog Server that can scale independently from HMS.
Currently, HMS REST Catalog Server is tied to HMS and can only be started together with HMS in a single instance.
This PR introduces a standalone REST Catalog server that:
Architecture:
Client → Kubernetes Load Balancer/API Gateway → Standalone REST Catalog Server → HMS
Why are the changes needed?
Allows independent scaling of the HMS REST Catalog Server from HMS, enabling:
Does this PR introduce any user-facing change?
Yes. Adds a new standalone server mode:
How was this patch tested?
New integration tests.