HIVE-29579: K8s operator#6452
Conversation
|
I can't wait to try out this feature!!! |
Thanks @zhangbutao for taking a look! Currently, the operator only supports LLAP mode (along with a Tez Local mode strictly for development and testing). Standard Tez mode isn't on my immediate radar right now; I can look into Tez in a follow-up maybe after them, though LLAP generally makes more sense in cloud environments |
@ayushtkn That sounds great. I think LLAP on cloud/k8s is definitely a milestone for Hive — a really nice feature. However, as far as I know, in the real world, there are still a large number of Hive on standard Tez mode jobs running on YARN. Many users want to migrate these Tez jobs to native Kubernetes(without relying on YARN's scheduling), just like Spark/Flink on k8s. I’m really looking forward to further updates on Tez on k8s as well. Thanks! |
|
Thanks @zhangbutao for sharing the use case. I’ll definitely look into it. Most likely, we’ll have support for both LLAP mode and Tez mode before the release — or at least I’ll try to cover as much as possible. I will create a ticket to track that. Need to see from Tez side, I think it would require changes there first YARN -> Kubernetes In the end, it’s up to the users which mode they want to use. Whichever mode they choose, they’re still using Hive, which is a win-win for us :-) |
|



What changes were proposed in this pull request?
Add Hive Operators to deploy Hive
Why are the changes needed?
To deploy Hive on K8s
Does this PR introduce any user-facing change?
No
How was this patch tested?
Deployed on Docker Desktop -> Follow Readme -> Build Hive master -> Build hive image -> Then Scenario 3 in README
After building the apache/hive-4.3.0-SNPASHOT docker image like
From Hive root directory
Running Pods:
Beeline
HiveServer2 UI:
Testing with External S3 Bucket
All Steps - the Ozone from above
Changed
Created Key
In
hivecluster-full-ha.yamlChanged
And
Remove the hadoop override which was for ozone
All same steps, Created an Iceberg table & checked the location of the files ingested

With Oracle DB + S3 Bucket
Same as above.
Deployed Oracle as
Updated the yml as
Created a table & verified inside Oracle DB

External HMS
Deployed HMS outside k8s with docker pointing to local Ozone.
Built Hive Metastore 4.3.0-SNAPSHOT HMS Docker Image then
docker compose as
Verified the HMS lives alone in Docker env

Modified the metastore column in hivecluster-full-ha.yaml to be as
The
externalUripoints to our external HMSDeployed

hivecluster-full-ha.yamlNo HMS here