[ https://issues.apache.org/jira/browse/HIVE-7935?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Vaibhav Gumashta updated HIVE-7935: ----------------------------------- Attachment: HIVE-7935.1.patch Thanks [~alangates] for the design. The current patch has the basic workflow. I'll upload a follow-up patch with: * Client retry support to go over next available HiveServer2 uris in case the current one picked is not available. * Last session close on an instance of HiveServer2 that has been removed from ZooKeeper should shut down that instance. * Enhancement to HiveServer2 service script to support removal of an instance from ZooKeeper via commandline. I'll clean up and upload tests in the same patch. > Support dynamic service discovery for HiveServer2 > ------------------------------------------------- > > Key: HIVE-7935 > URL: https://issues.apache.org/jira/browse/HIVE-7935 > Project: Hive > Issue Type: New Feature > Components: HiveServer2, JDBC > Affects Versions: 0.14.0 > Reporter: Vaibhav Gumashta > Assignee: Vaibhav Gumashta > Fix For: 0.14.0 > > Attachments: HIVE-7935.1.patch > > > To support Rolling Upgrade / HA, we need a mechanism by which a JDBC client > can dynamically resolve an HiveServer2 to connect to. > *High Level Design:* > Whether, dynamic service discovery is supported or not, can be configured by > setting HIVE_SERVER2_SUPPORT_DYNAMIC_SERVICE_DISCOVERY. ZooKeeper is used to > support this. > * When an instance of HiveServer2 comes up, it adds itself as a znode to > ZooKeeper under a configurable namespace (HIVE_SERVER2_ZOOKEEPER_NAMESPACE). > * A JDBC/ODBC client now specifies the ZooKeeper ensemble in its connection > string, instead of pointing to a specific HiveServer2 instance. The JDBC > driver, uses the ZooKeeper ensemble to pick an instance of HiveServer2 to > connect for the entire session. > * When an instance is removed from ZooKeeper, the existing client sessions > continue till completion. When the last client session completes, the > instance shuts down. > * All new client connection pick one of the available HiveServer2 uris from > ZooKeeper. -- This message was sent by Atlassian JIRA (v6.3.4#6332)