Skip to content

[FEATURE] Support renew delegation tokens of multiple Hive metastore clusters #1091

@zhouyifan279

Description

@zhouyifan279

Code of Conduct

Search before asking

  • I have searched in the issues and found no similar issues.

Describe the feature

Enhance HiveDelegationTokenProvider to renew delegation tokens of multiple Hive metastore clusters.

Motivation

Kyuubi supports setting Hive metastore uris in JDBC connection URL.
But current HiveDelegationTokenProvider implemented in #1009 can only renew delegation tokens of Hive metastore defined in hive-site.xml.

For users who frequently access different Hive metastore clusters, the Kyuubi enginesare still limited by Hive token's expiration time when visiting non default Hive metastore servers.

Describe the solution

Introduce a Kyuubi configuration kyuuib.credentials.hive.metastore.uris to specify extra Hive metastore URIs.
URIs should be specified in format "thrift://host01:port01,thrift://host02:port02;thrift://host11:port11,thrift://host12:port12", where "," separates URIs belonging to same metastore cluster, ";" separates URIs of different metastore clusters.

HiveDelegationTokenProvider will create a HiveMetaStoreClient for each Hive metastore URIs and periodically renew the delegation tokens.

Additional context

No response

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions