blob: 2adb018275c3ed7f26b782cbd8da0a93259c6603 [file] [log] [blame]
#!/bin/bash
#--------------------------------------------------------------------------------
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
#--------------------------------------------------------------------------------
#
# run Apache MRQL in BSP mode using Apache Hama
#
#--------------------------------------------------------------------------------
MRQL_HOME=$(dirname $(readlink -f $0))/..
. $MRQL_HOME/conf/mrql-env.sh
GEN_JAR=$(readlink -f $MRQL_HOME/lib/mrql-gen-*.jar)
CORE_JAR=$(readlink -f $MRQL_HOME/lib/mrql-core-*.jar)
BSP_JAR=$(readlink -f $MRQL_HOME/lib/mrql-bsp-*.jar)
export JAVA_HOME FS_DEFAULT_NAME BSP_MASTER_ADDRESS HAMA_ZOOKEEPER_QUORUM
if [ "$1" == "-local" ]; then
LIBJARS=$CUP_JAR,$JLINE_JAR,$GEN_JAR,$CORE_JAR,$BSP_JAR
export HAMA_CLASSPATH=$CUP_JAR:$JLINE_JAR:$CORE_JAR:$GEN_JAR:$BSP_JAR
$HAMA_HOME/bin/hama jar $BSP_JAR org.apache.mrql.Main -libjars $LIBJARS -bsp $*
else if [ "$1" == "-dist" ]; then
# Hama distributed mode -libjars has a bug; create a single jar instead
mkdir -p $MRQL_HOME/tmp/classes
pushd $MRQL_HOME/tmp/classes >/dev/null
$JAVA_HOME/bin/jar xf $CUP_JAR
$JAVA_HOME/bin/jar xf $JLINE_JAR
$JAVA_HOME/bin/jar xf $GEN_JAR
$JAVA_HOME/bin/jar xf $CORE_JAR
$JAVA_HOME/bin/jar xf $BSP_JAR
cd ..
$JAVA_HOME/bin/jar cf mrql-bsp.jar -C classes/ .
popd >/dev/null
$HAMA_HOME/bin/hama jar $MRQL_HOME/tmp/mrql-bsp.jar org.apache.mrql.Main -bsp $*
else
HAMA_CLASSPATH=$CUP_JAR:$JLINE_JAR:$GEN_JAR:$CORE_JAR:$BSP_JAR:$HAMA_JAR:$HADOOP_JARS
$JAVA_HOME/bin/java -classpath $HAMA_CLASSPATH org.apache.mrql.Main -bsp $*
fi
fi