commit 7b9561480050c51b96ef333ed23ac29d17d2af3d Author: Janaki Lahorani Date: Wed Jan 17 11:19:56 2018 -0800 HIVE-18472: Resolve Log4j warnings Change-Id: I43dd2255c65e49b67ba2243d362d0968bce27ce5 diff --git bin/hive bin/hive index 4a908e1e428dfe36a2956316fc023e784e870875..f4e95cd618ddea6b336f11a96881cedf628db985 100755 --- bin/hive +++ bin/hive @@ -131,8 +131,17 @@ if [ ! -f ${HIVE_LIB}/hive-cli-*.jar ]; then exit 3; fi +# Hbase and Hadoop use their own log4j jars. Including hives log4j jars can cause +# log4j warnings. So save hives log4j jars in LOG_JAR_CLASSPATH, and add it to classpath +# after Hbase and Hadoop calls finish +LOG_JAR_CLASSPATH=""; + for f in ${HIVE_LIB}/*.jar; do - CLASSPATH=${CLASSPATH}:$f; + if [[ $f == *"log4j"* ]]; then + LOG_JAR_CLASSPATH=${LOG_JAR_CLASSPATH}:$f; + else + CLASSPATH=${CLASSPATH}:$f; + fi done # add the auxillary jars such as serdes @@ -340,6 +349,9 @@ if [[ "$SERVICE" =~ ^(hiveserver2|beeline|cli)$ ]] ; then fi fi +# include the log4j jar that is used for hive into the classpath +CLASSPATH="${CLASSPATH}:${LOG_JAR_CLASSPATH}" + if [ "$TORUN" = "" ] ; then echo "Service $SERVICE not found" echo "Available Services: $SERVICE_LIST"