Bing Li created HIVE-18047:
------------------------------

             Summary: Support dynamic service discovery for HiveMetaStore
                 Key: HIVE-18047
                 URL: https://issues.apache.org/jira/browse/HIVE-18047
             Project: Hive
          Issue Type: Bug
          Components: Metastore
            Reporter: Bing Li
            Assignee: Bing Li


Similar like what Hive does on HiveServer2 (HIVE-7935), a HiveMetaStore client 
can dynamically resolve an HiveMetaStore service to connect to via ZooKeeper.

*High Level Design:*
Whether dynamic service discovery is supported or not can be configured by 
setting
HIVE_METASTORE_SUPPORT_DYNAMIC_SERVICE_DISCOVERY.  
* This property should ONLY work when HiveMetaStrore service is in remote mode.
* When an instance of HiveMetaStore comes up, it adds itself as a znode to 
Zookeeper under a configurable namespace (HIVE_METASTORE_ZOOKEEPER_NAMESPACE, 
e.g. hivemetastore).
* A thrift client specifies the ZooKeeper ensemble in its connection string, 
instead of pointing to a specific HiveMetaStore instance. The ZooKeeper 
ensemble will pick an instance of HiveMetaStore to connect for the 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 HiveMetaStore uris from 
ZooKeeper.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to