#!/bin/bash -eu # 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. if [ "$#" -gt 4 ] || [ "$#" -eq 0 ] then >&2 echo "usage: $0 [conf-dir]" exit 1 fi PWD="$(pwd)" WHEREAMI="$(dirname "$0")" WHATAMI="$1" if [ "$#" -eq 1 ] then CONFDIR="$WHEREAMI/../conf" else CONFDIR="$2" fi CONFDIR="$(cd "$CONFDIR">/dev/null && pwd)" WHEREAMI="$(cd "$WHEREAMI">/dev/null && pwd)" LOG_DIR="${DRUID_LOG_DIR:=${WHEREAMI}/../log}" # Remove possible ending slash if [[ $LOG_DIR == */ ]]; then LOG_DIR=${LOG_DIR%?} fi if [ ! -d "$LOG_DIR" ]; then mkdir -p $LOG_DIR; fi echo "Running [$1], logging to [$LOG_DIR/$1.log] if no changes made to log4j2.xml" if [ "$WHATAMI" = 'coordinator-overlord' ] then SERVER_NAME=coordinator else SERVER_NAME="$WHATAMI" fi if [ ! -f "$CONFDIR"/$WHATAMI/main.config ]; then MAIN_CLASS="org.apache.druid.cli.Main server $SERVER_NAME" else MAIN_CLASS=`cat "$CONFDIR"/$WHATAMI/main.config | xargs` fi cd "$WHEREAMI/.." CLASS_PATH="$CONFDIR"/"$WHATAMI":"$CONFDIR"/_common:"$CONFDIR"/_common/hadoop-xml:"$CONFDIR"/../_common:"$CONFDIR"/../_common/hadoop-xml:"$WHEREAMI/../lib/*" if [ "$#" -eq 3 ] || [ "$#" -eq 4 ] then # args: or JVMARGS=`cat "$CONFDIR/_common/common.jvm.config" | xargs` JVMARGS+=' ' JVMARGS+=$3 if [ "$#" -eq 3 ] then # args: exec "$WHEREAMI"/run-java -Ddruid.node.type=$1 "-Ddruid.log.path=$LOG_DIR" $JVMARGS \ -cp $CLASS_PATH $MAIN_CLASS else # args: exec "$WHEREAMI"/run-java -Ddruid.node.type=$1 $4 "-Ddruid.log.path=$LOG_DIR" $JVMARGS \ -cp $CLASS_PATH $MAIN_CLASS fi else # args: exec "$WHEREAMI"/run-java -Ddruid.node.type=$1 "-Ddruid.log.path=$LOG_DIR" \ `cat "$CONFDIR"/"$WHATAMI"/jvm.config | xargs` \ -cp $CLASS_PATH $MAIN_CLASS fi