blob: 22b9d2d47d7aca908bec9c5db7770375b151489d [file] [log] [blame]
#
# 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 the Drill-on-YARN client to launch Drill on a YARN cluster.
# Uses the $DRILL_HOME/conf/drill-on-yarn.conf file for client options.
# Uses the $DRILL_HOME/conf/drill-cluster.conf file for cluster options.
#
# The config files (along with the Drill config files) MUST be in the
# $DRILL_HOME directory so that they are properly localized. Drill-on-YARN does not permit
# placing configuration files outside the $DRILL_HOME directory.
#
# Requires the location of Hadoop home. Maybe passed using the --hadoop option,
# set in the environment, or set in $DRILL_HOME/conf/yarn-env.sh.
usage="Usage: drill-on-yarn.sh start|stop|status"
bin=`dirname "${BASH_SOURCE-$0}"`
bin=`cd "$bin">/dev/null; pwd`
export DRILL_HOME=`cd "$bin/..">/dev/null; pwd`
# Use Drillbit's config script. We throw away most of the information, we really just
# need JAVA_HOME and HADOOP_CONF_DIR or HADOOP_HOME.
DRILL_TOOL_CP="$DRILL_HOME/jars/tools/*"
. "$DRILL_HOME/bin/drill-config.sh"
# Hadoop config or home is required
if [ -z "$HADOOP_CONF_DIR" ]; then
if [ -z "$HADOOP_HOME" ]; then
echo "Hadoop home undefined: set HADOOP_CONF_DIR, HADOOP_HOME" >&2
exit 1
fi
HADOOP_CONF_DIR="$HADOOP_HOME/etc/hadoop"
fi
DRILL_CLIENT_HEAP=${DRILL_CLIENT_HEAP:-512M}
VM_OPTS="-Xms$DRILL_CLIENT_HEAP -Xmx$DRILL_CLIENT_HEAP $DRILL_CLIENT_VM_OPTS"
VM_OPTS="$VM_OPTS -Dlogback.configurationFile=yarn-client-log.xml"
#VM_OPTS="$VM_OPTS -Ddrill.yarn.siteDir=$DRILL_CONF_DIR"
# Add Hadoop configuration at the end of the class path. This will
# fail if the 1.6-and earlier core-site.xml file resides in the conf
# directory.
CP="$CP:$HADOOP_CONF_DIR"
if [ ${#args[@]} = 0 ]; then
echo $usage
exit 1
fi
CLIENT_CMD="$JAVA $VM_OPTS -cp $CP org.apache.drill.yarn.client.DrillOnYarn ${args[@]}"
case ${args[0]} in
debug)
env
echo "Command: $CLIENT_CMD"
;;
*)
exec $CLIENT_CMD
;;
esac