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)