You can see if the classpath is being passed correctly to hadoop by putting in an echo statement around line 150 of the hive cli script where it passes the CLASSPATH variable to HADOOP_CLASSPATH. # pass classpath to hadoop export HADOOP_CLASSPATH="${HADOOP_CLASSPATH}:${CLASSPATH}"
You could also echo the classpath in the hadoop script (in your HADOOP_HOME\bin directory) to see if the classpath is being passed correctly to the time when the cli jar is invoked. As far as the logs location, if this is not set in your hive-site.xml, you can set it by passing in HIVE_OPTS when you invoke the command line. Like so: EXPORT HIVE_OPTS= -hiveconf hive.log.dir=$ HIVE_HOME\logs" Then run "hive" Or: Run "hive --hiveconf hive.log.dir=$ HIVE_HOME\logs" Thanks, Lauren From: Stephen Boesch [mailto:java...@gmail.com] Sent: Friday, November 30, 2012 12:16 AM To: user@hive.apache.org Subject: Re: hive-site.xml not found on classpath running 0.9.0 (you can see it from the classpath shown below); steve@mithril:/shared/cdh4$ echo $HIVE_CONF_DIR /shared/hive/conf steve@mithril:/shared/cdh4$ ls -l $HIVE_CONF_DIR total 152 -rw-r--r-- 1 steve steve 46053 2011-12-13 00:36 hive-default.xml.template -rw-r--r-- 1 steve steve 1615 2012-11-13 23:37 hive-env.bullshit.sh<http://hive-env.bullshit.sh> -rw-r--r-- 1 steve steve 1671 2012-11-28 01:43 hive-env.sh -rw-r--r-- 1 steve steve 1593 2011-12-13 00:36 hive-env.sh.template -rw-r--r-- 1 steve steve 1637 2011-12-13 00:36 hive-exec-log4j.properties.template -rw-r--r-- 1 root root 2056 2012-11-28 01:38 hive-log4j.properties -rw-r--r-- 1 steve steve 2056 2012-03-25 12:49 hive-log4j.properties.template -rw-r--r-- 1 steve steve 4415 2012-11-25 23:02 hive-site.xml steve@mithril:/shared/cdh4$ echo $HIVE_HOME /shared/hive steve@mithril:/shared/cdh4$ echo $(which hive) /shared/hive/bin/hive also you can see the hive/conf is the first entry After adding the debug statement: classpath=/shared/hive/conf:/shared/hive/lib/antlr-runtime-3.0.1.jar:/shared/hive/lib/commons-cli-1.2.jar:/shared/hive/lib/commons-codec-1.3.jar:/shared/hive/lib/commons-collections-3.2.1.jar:/shared/hive/lib/commons-dbcp-1.4.jar:/shared/hive/lib/commons-lang-2.4.jar:/shared/hive/lib/commons-logging-1.0.4.jar:/shared/hive/lib/commons-logging-api-1.0.4.jar:/shared/hive/lib/commons-pool-1.5.4.jar:/shared/hive/lib/datanucleus-connectionpool-2.0.3.jar:/shared/hive/lib/datanucleus-core-2.0.3.jar:/shared/hive/lib/datanucleus-enhancer-2.0.3.jar:/shared/hive/lib/datanucleus-rdbms-2.0.3.jar:/shared/hive/lib/derby-10.4.2.0.jar:/shared/hive/lib/guava-r09.jar:/shared/hive/lib/hbase-0.92.0.jar:/shared/hive/lib/hbase-0.92.0-tests.jar:/shared/hive/lib/hive-builtins-0.9.0.jar:/shared/hive/lib/hive-cli-0.9.0.jar:/shared/hive/lib/hive-common-0.9.0.jar:/shared/hive/lib/hive-contrib-0.9.0.jar:/shared/hive/lib/hive_contrib.jar:/shared/hive/lib/hive-exec-0.9.0.jar:/shared/hive/lib/hive-hbase-handler-0.9.0.jar:/shared/hive/lib/hive-hwi-0.9.0.jar:/shared/hive/lib/hive-jdbc-0.9.0.jar:/shared/hive/lib/hive-metastore-0.9.0.jar:/shared/hive/lib/hive-pdk-0.9.0.jar:/shared/hive/lib/hive-serde-0.9.0.jar:/shared/hive/lib/hive-service-0.9.0.jar:/shared/hive/lib/hive-shims-0.9.0.jar:/shared/hive/lib/jackson-core-asl-1.8.8.jar:/shared/hive/lib/jackson-jaxrs-1.8.8.jar:/shared/hive/lib/jackson-mapper-asl-1.8.8.jar:/shared/hive/lib/jackson-xc-1.8.8.jar:/shared/hive/lib/JavaEWAH-0.3.2.jar:/shared/hive/lib/jdo2-api-2.3-ec.jar:/shared/hive/lib/jline-0.9.94.jar:/shared/hive/lib/json-20090211.jar:/shared/hive/lib/libfb303-0.7.0.jar:/shared/hive/lib/libfb303.jar:/shared/hive/lib/libthrift-0.7.0.jar:/shared/hive/lib/libthrift.jar:/shared/hive/lib/log4j-1.2.16.jar:/shared/hive/lib/mysql-connector-java-5.1.18-bin.jar:/shared/hive/lib/slf4j-api-1.6.1.jar:/shared/hive/lib/slf4j-log4j12-1.6.1.jar:/shared/hive/lib/stringtemplate-3.1-b1.jar:/shared/hive/lib/zookeeper-3.4.3.jar: But even so: * the log dir is still wrong (writing to /tmp/${user}/hive.log instead of $HIVE_HOME/logs) * the following message in the log file 2012-11-30 00:12:31,775 WARN conf.HiveConf (HiveConf.java:<clinit>(70)) - hive-site.xml not found on CLASSPATH 2012/11/30 Bing Li <sarah.lib...@gmail.com<mailto:sarah.lib...@gmail.com>> which version of hive do you use? Could you try to add the following debug line in bin/hive before hive real executes, and see the result? echo "CLASSPATH=$CLASSPATH" if [ "$TORUN" = "" ]; then echo "Service $SERVICE not found" echo "Available Services: $SERVICE_LIST" exit 7 else $TORUN "$@" fi The version I used is 0.9.0 2012/11/30 Stephen Boesch <java...@gmail.com<mailto:java...@gmail.com>> Yes i do mean the log is in the wrong location, since it was set to a persistent path in the $HIVE_CONF_DIR/lhive-log4j.properties. None of the files in that directory appear to be picked up properly: neither the hive-site.xml nor log4j.properties. I have put echo statements into the 'hive" and the hive-config.sh shell scripts and the echo statements prove that HIVE_CONF_DIR is set properly: /shared/hive/conf But even so the following problems occur: * the message "hive-site.xml is not found in the classpath" * none of the hive-site.xml values are taking properly * the log4j.properties in that same directory is not taking effect. 2012/11/29 Bing Li <sarah.lib...@gmail.com<mailto:sarah.lib...@gmail.com>> Hi, Stephen what did you mean the "wrong place under /tmp" in "I am seeing the following message in the logs (which are in the wrong place under /tmp..)" ? Did you mean that you set a different log dir but it didn't work? the log dir should be set in conf/hive-log4j.properties, conf/hive-exec-log4j.properties and you can try to reset HIVE_CONF_DIR in conf/hive-env.sh with 'export" command. - Bing 2012/11/30 Stephen Boesch <java...@gmail.com<mailto:java...@gmail.com>> thought i mentioned in the posts those were already set and verified.. but yes in any case that's first thing looked at. steve@mithril:~$ echo $HIVE_CONF_DIR /shared/hive/conf steve@mithril:~$ echo $HIVE_HOME /shared/hive 2012/11/29 kulkarni.swar...@gmail.com<mailto:kulkarni.swar...@gmail.com> <kulkarni.swar...@gmail.com<mailto:kulkarni.swar...@gmail.com>> Have you tried setting HIVE_HOME and HIVE_CONF_DIR? On Thu, Nov 29, 2012 at 2:46 PM, Stephen Boesch <java...@gmail.com<mailto:java...@gmail.com>> wrote: Yes. 2012/11/29 Shreepadma Venugopalan <shreepa...@cloudera.com<mailto:shreepa...@cloudera.com>> Are you seeing this message when your bring up the standalone hive cli by running 'hive'? On Thu, Nov 29, 2012 at 12:56 AM, Stephen Boesch <java...@gmail.com<mailto:java...@gmail.com>> wrote: i am running under user steve. the latest log (where this shows up ) is /tmp/steve/hive.log 2012/11/29 Viral Bajaria <viral.baja...@gmail.com<mailto:viral.baja...@gmail.com>> You are seeing this error when you run the hive cli or in the tasktracker logs when you run a query ? On Thu, Nov 29, 2012 at 12:42 AM, Stephen Boesch <java...@gmail.com<mailto:java...@gmail.com>> wrote: I am seeing the following message in the logs (which are in the wrong place under /tmp..) hive-site.xml not found on classpath My hive-site.xml is under the standard location $HIVE_HOME/conf so this should not happen. Now some posts have talked that the HADOOP_CLASSPATH was mangled. Mine is not.. So what is the underlying issue here? Thanks stephenb -- Swarnim