[ 
https://issues.apache.org/jira/browse/HIVE-28423?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Qiheng He resolved HIVE-28423.
------------------------------
    Fix Version/s: 4.1.0
       Resolution: Fixed

> The doc for enabling ZooKeeper Service Discovery on HiveServer2 is missing 
> the requirement statement for `hive.server2.support.dynamic.service.discovery`
> ---------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HIVE-28423
>                 URL: https://issues.apache.org/jira/browse/HIVE-28423
>             Project: Hive
>          Issue Type: Improvement
>            Reporter: Qiheng He
>            Assignee: Qiheng He
>            Priority: Major
>             Fix For: 4.1.0
>
>
> - The doc for enabling ZooKeeper Service Discovery on HiveServer2 is missing 
> the requirement statement for 
> *hive.server2.support.dynamic.service.discovery*. This is a documentation 
> issue I noticed at [https://github.com/dbeaver/dbeaver/issues/22777] , where 
> dbeaver contributors spent 6 months trying to figure out how to start 
> ZooKeeper Service Discovery on HiveServer2.
> - 
> https://cwiki.apache.org/confluence/display/Hive/HiveServer2+Clients#HiveServer2Clients-ConnectionURLWhenZooKeeperServiceDiscoveryIsEnabled
>  describes ZooKeeper Service Discovery like this.
> {code:bash}
> ZooKeeper-based service discovery introduced in Hive 0.14.0 (HIVE-7935) 
> enables high availability and rolling upgrade for HiveServer2. A JDBC URL 
> that specifies <zookeeper quorum> needs to be used to make use of these 
> features.
> With further changes in Hive 2.0.0 and 1.3.0 (unreleased, HIVE-11581), none 
> of the additional configuration parameters such as authentication mode, 
> transport mode, or SSL parameters need to be specified, as they are retrieved 
> from the ZooKeeper entries along with the hostname.
> The JDBC connection URL: jdbc:hive2://<zookeeper 
> quorum>/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2 .
> The <zookeeper quorum> is the same as the value of hive.zookeeper.quorum 
> configuration parameter in hive-site.xml/hivserver2-site.xml used by 
> HiveServer2.
> {code}
> - I did a test at https://github.com/linghengqian/hivesever2-v400-sd-test to 
> verify that setting *hive.zookeeper.quorum* only on HiveServer2 was not 
> enough. I found the *hive.server2.support.dynamic.service.discovery* property 
> defined in the *org.apache.hadoop.hive.conf.HiveConf* class in a 
> stackoverflow discussion. 
> - To verify this git, just execute the following shell. Related unit tests 
> occupy *2181*, *10000*, *10002* ports to start Docker Container.
> {code:bash}
> sdk install java 22.0.2-graalce
> sdk use java 22.0.2-graalce
> git clone g...@github.com:linghengqian/hivesever2-v400-sd-test.git
> cd ./hivesever2-v400-sd-test/
> docker compose -f ./docker-compose-lingh.yml pull
> docker compose -f ./docker-compose-lingh.yml up -d
> # ... Wait five seconds for HiveServer2 to finish initializing.
> ./mvnw clean test
> docker compose -f ./docker-compose-lingh.yml down
> {code}
> - I also searched for the keyword 
> *hive.server2.support.dynamic.service.discovery* in https://cwiki.apache.org/ 
> , but I could only find this property in the documentation page of the KNOX 
> project 
> https://cwiki.apache.org/confluence/display/KNOX/Dynamic+HA+Provider+Configuration
>  , which doesn't make sense from my perspective.
> - From my perspective, it is reasonable to add the description of 
> *hive.server2.support.dynamic.service.discovery* properties to the 
> documentation of apache/hive:4.0.0.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to