It seems the customized hive-site.xml is not being read. It lives under $HIVE_HOME/conf ( which happens to be /shared/hive/conf). I have tried everything there is to try: set HIVE_CONF_DIR=/shared/hive/conf , added --config /shared/hive/conf and added debugging to the hive shell script (bash -x) to ensure that the correct directory is actually getting used
The properties inside hive-site.xml are getting ignored: originally set to using mysql , but instead the default derby is getting used. Then tried changing hive.metastore.local between true and false: no difference in behavior - just going to /tmp/$USER for creating the derby no matter what. I wondered whether hive-site.xml maybe has a syntax error and were getting ignored: so removed everything except <configuration></configuration>: still no This is the totally simplified hive-site.xml: it just has enough to try to see if it is actually being read/applied (and it is not..): steve@mithril:/shared/hive/conf$ cat hive-site.xml <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <!-- Hive Execution Parameters --> <property> <name>hive.metastore.local</name> <value>false</value> </property> <property> <name>hive.exec.scratchdir</name> <value>/tmp/hive/hive-${user.name}</value> <description>Scratch space for Hive jobs</description> </property> <property> <name>hive.hwi.war.file</name> <value>/shared/hive/lib/hive-hwi-0.9.0.war</value> <description>This is the WAR file with the jsp content for Hive Web Interface</description> </property> </configuration> After running some DDL in hive, for example, no files are created underneath /tmp/hive (instead they are going to /tmp/$USER which is default - as if the custom hive-site.xml never existed.