[ https://issues.apache.org/jira/browse/HIVE-28430?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17873815#comment-17873815 ]
Zhihua Deng commented on HIVE-28430: ------------------------------------ Only one hive-site.xml is present and will take effect, if you don't want to override the original configuration, there are two ways: * Pass the new properties through Docker env, e.g, --env SERVICE_OPTS="-Dhive.server2.support.dynamic.service.discovery=true -Dpropery.key=value"; * Put all your new properties into hiveserver2-site.xml, and link the directory using the HIVE_CUSTOM_CONF_DIR > Allow Docker Image of `apache/hive:4.0.0` to incrementally define the > contents of 'hive-site.xml'? > -------------------------------------------------------------------------------------------------- > > Key: HIVE-28430 > URL: https://issues.apache.org/jira/browse/HIVE-28430 > Project: Hive > Issue Type: Improvement > Reporter: Qiheng He > Priority: Major > > * To customize Hive system properties in the *apache/hive:4.0.0* Docker > Image, we usually need to mount the directory and set the > *HIVE_CUSTOM_CONF_DIR* environment variable. But the mounted *hive-site.xml* > file always seems to need to redefine the contents in > https://github.com/apache/hive/blob/rel/release-4.0.0/packaging/src/docker/conf/hive-site.xml > repeatedly. This is actually a spin-off of > https://issues.apache.org/jira/browse/HIVE-28424 . > * Suppose I want to enable the *ZooKeeper Service Discovery* feature of > HiveServer2 on HiveServer2 deployed by Docker. It is not enough to just write > the following content in the mounted *hive-site.xml*. > {code:xml} > <?xml version="1.0" encoding="UTF-8"?> > <configuration> > <property> > <name>hive.server2.support.dynamic.service.discovery</name> > <value>true</value> > </property> > <property> > <name>hive.zookeeper.quorum</name> > <value>127.0.0.1:2181</value> > </property> > </configuration> > {code} > - Actually I need to copy the content of > https://github.com/apache/hive/blob/rel/release-4.0.0/packaging/src/docker/conf/hive-site.xml > . > {code:xml} > <?xml version="1.0" encoding="UTF-8"?> > <configuration> > <property> > <name>hive.server2.enable.doAs</name> > <value>false</value> > </property> > <property> > <name>hive.tez.exec.inplace.progress</name> > <value>false</value> > </property> > <property> > <name>hive.tez.exec.print.summary</name> > <value>true</value> > </property> > <property> > <name>hive.exec.scratchdir</name> > <value>/opt/hive/scratch_dir</value> > </property> > <property> > <name>hive.user.install.directory</name> > <value>/opt/hive/install_dir</value> > </property> > <property> > <name>tez.runtime.optimize.local.fetch</name> > <value>true</value> > </property> > <property> > <name>hive.exec.submit.local.task.via.child</name> > <value>false</value> > </property> > <property> > <name>mapreduce.framework.name</name> > <value>local</value> > </property> > <property> > <name>tez.local.mode</name> > <value>true</value> > </property> > <property> > <name>hive.metastore.warehouse.dir</name> > <value>/opt/hive/data/warehouse</value> > </property> > <property> > <name>metastore.metastore.event.db.notification.api.auth</name> > <value>false</value> > </property> > <property> > <name>hive.server2.support.dynamic.service.discovery</name> > <value>true</value> > </property> > <property> > <name>hive.zookeeper.quorum</name> > <value>127.0.0.1:2181</value> > </property> > </configuration> > {code} > - I did create a unit test at > https://github.com/linghengqian/hivesever2-v400-sd-test to verify this issue. > Just execute the following shell command to verify it on Ubuntu 22.04.4. Feel > free to change the contents of the `hive-custom-conf` directory. The unit > test uses three host ports, *2181*, *10000*, and *10002*. > {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} > - Maybe there is a way to avoid repeatedly defining exactly the same as > https://github.com/apache/hive/blob/rel/release-4.0.0/packaging/src/docker/conf/hive-site.xml > ? -- This message was sent by Atlassian Jira (v8.20.10#820010)