From 25824035dec26c9bfcfc02f315548cdfe7ec80f6 Mon Sep 17 00:00:00 2001 From: Nick Dimiduk Date: Thu, 18 Apr 2013 15:32:18 -0700 Subject: [PATCH] HCATALOG-621 Include HBase jars and dependencies when available Look for HBase and it's dependencies via the HBASE_HOME environment variable. --- bin/hcat | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/bin/hcat b/bin/hcat index 2324d55..ba1f113 100644 --- a/bin/hcat +++ b/bin/hcat @@ -119,8 +119,18 @@ done # Put external jars, hcat jar, and config file in the classpath HADOOP_CLASSPATH=${HADOOP_CLASSPATH}:${HCAT_CLASSPATH}:${HCAT_JAR}:${HIVE_CONF_DIR} -if [ -n "$HBASE_CONF_DIR" ] && [ -d $HBASE_CONF_DIR ]; then - HADOOP_CLASSPATH=${HADOOP_CLASSPATH}:${HBASE_CONF_DIR} +# Look for HBase in a BigTop-compatible way. Avoid thrift version +# conflict with modern versions of HBase. +HBASE_HOME=${HBASE_HOME:-"/usr/lib/hbase"} +HBASE_CONF_DIR=${HBASE_CONF_DIR:-"${HBASE_HOME}/conf"} +if [ -d ${HBASE_HOME} ] ; then + for jar in $(find $HBASE_HOME -name *.jar -not -name thrift\*.jar); do + HBASE_CLASSPATH=$HBASE_CLASSPATH:${jar} + done + export HADOOP_CLASSPATH="${HADOOP_CLASSPATH}:${HBASE_CLASSPATH}" +fi +if [ -d $HBASE_CONF_DIR ] ; then + HADOOP_CLASSPATH="${HADOOP_CLASSPATH}:${HBASE_CONF_DIR}" fi export HADOOP_CLASSPATH=$HADOOP_CLASSPATH -- 1.8.1