MAPREDUCE-3081. Fix vaidya startup script. Contributed by Suhas

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1176550 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Giridharan Kesavan 2011-09-27 19:35:29 +00:00
parent 87b969c835
commit 98cc200700
2 changed files with 69 additions and 6 deletions

View File

@ -29,6 +29,8 @@ Trunk (unreleased changes)
findBugs, correct links to findBugs artifacts and no links to the findBugs, correct links to findBugs artifacts and no links to the
artifacts when there are no warnings. (Tom White via vinodkv). artifacts when there are no warnings. (Tom White via vinodkv).
MAPREDUCE-3081. Fix vaidya startup script. (gkesavan via suhas).
Release 0.23.0 - Unreleased Release 0.23.0 - Unreleased
INCOMPATIBLE CHANGES INCOMPATIBLE CHANGES

View File

@ -31,17 +31,78 @@ script=`basename "$this"`
bin=`cd "$bin"; pwd` bin=`cd "$bin"; pwd`
this="$bin/$script" this="$bin/$script"
# Check if HADOOP_PREFIX AND JAVA_HOME is set. # Check if HADOOP_HOME AND JAVA_HOME is set.
if [ -z $HADOOP_PREFIX ] ; then if [ -z "$HADOOP_HOME" ] && [ -z "$HADOOP_PREFIX" ] ; then
echo "HADOOP_PREFIX environment variable not defined" echo "HADOOP_HOME or HADOOP_PREFIX environment variable should be defined"
exit -1; exit -1;
fi fi
if [ -z $JAVA_HOME ] ; then if [ -z "$JAVA_HOME" ] ; then
echo "JAVA_HOME environment variable not defined" echo "JAVA_HOME environment variable not defined"
exit -1; exit -1;
fi fi
hadoopVersion=`$HADOOP_PREFIX/bin/hadoop version | grep Hadoop | awk '{print $2}'` if [ -z "$HADOOP_PREFIX" ]; then
hadoopVersion=`$HADOOP_HOME/bin/hadoop version | awk 'BEGIN { RS = "" ; FS = "\n" } ; { print $1 }' | awk '{print $2}'`
else
hadoopVersion=`$HADOOP_PREFIX/bin/hadoop version | awk 'BEGIN { RS = "" ; FS = "\n" } ; { print $1 }' | awk '{print $2}'`
fi
$JAVA_HOME/bin/java -Xmx1024m -classpath $HADOOP_PREFIX/hadoop-${hadoopVersion}-core.jar:$HADOOP_PREFIX/contrib/vaidya/hadoop-${hadoopVersion}-vaidya.jar:$HADOOP_PREFIX/lib/commons-logging-1.0.4.jar:${CLASSPATH} org.apache.hadoop.vaidya.postexdiagnosis.PostExPerformanceDiagnoser $@ # so that filenames w/ spaces are handled correctly in loops below
IFS=
# for releases, add core hadoop jar to CLASSPATH
if [ -e $HADOOP_PREFIX/share/hadoop/hadoop-core-* ]; then
for f in $HADOOP_PREFIX/share/hadoop/hadoop-core-*.jar; do
CLASSPATH=${CLASSPATH}:$f;
done
# add libs to CLASSPATH
for f in $HADOOP_PREFIX/share/hadoop/lib/*.jar; do
CLASSPATH=${CLASSPATH}:$f;
done
else
# tarball layout
if [ -e $HADOOP_HOME/hadoop-core-* ]; then
for f in $HADOOP_HOME/hadoop-core-*.jar; do
CLASSPATH=${CLASSPATH}:$f;
done
fi
if [ -e $HADOOP_HOME/build/hadoop-core-* ]; then
for f in $HADOOP_HOME/build/hadoop-core-*.jar; do
CLASSPATH=${CLASSPATH}:$f;
done
fi
for f in $HADOOP_HOME/lib/*.jar; do
CLASSPATH=${CLASSPATH}:$f;
done
if [ -d "$HADOOP_HOME/build/ivy/lib/Hadoop/common" ]; then
for f in $HADOOP_HOME/build/ivy/lib/Hadoop/common/*.jar; do
CLASSPATH=${CLASSPATH}:$f;
done
fi
fi
# Set the Vaidya home
if [ -d "$HADOOP_PREFIX/share/hadoop/contrib/vaidya/" ]; then
VAIDYA_HOME=$HADOOP_PREFIX/share/hadoop/contrib/vaidya/
fi
if [ -d "$HADOOP_HOME/contrib/vaidya" ]; then
VAIDYA_HOME=$HADOOP_HOME/contrib/vaidya/
fi
if [ -d "$HADOOP_HOME/build/contrib/vaidya" ]; then
VAIDYA_HOME=$HADOOP_HOME/build/contrib/vaidya/
fi
# add user-specified CLASSPATH last
if [ "$HADOOP_USER_CLASSPATH_FIRST" = "" ] && [ "$HADOOP_CLASSPATH" != "" ]; then
CLASSPATH=${CLASSPATH}:${HADOOP_CLASSPATH}
fi
# restore ordinary behaviour
unset IFS
echo "$CLASSPATH"
$JAVA_HOME/bin/java -Xmx1024m -classpath $VAIDYA_HOME/hadoop-vaidya-${hadoopVersion}.jar:${CLASSPATH} org.apache.hadoop.vaidya.postexdiagnosis.PostExPerformanceDiagnoser $@