mirror of
https://github.com/apache/druid.git
synced 2025-02-07 18:48:33 +00:00
* Druid automated quickstart * remove conf/druid/single-server/quickstart/_common/historical/jvm.config * Minor changes in python script * Add lower bound memory for some services * Additional runtime properties for services * Update supervise script to accept command arguments, corresponding changes in druid-quickstart.py * File end newline * Limit the ability to start multiple instances of a service, documentation changes * simplify script arguments * restore changes in medium profile * run-druid refactor * compute and pass middle manager runtime properties to run-druid supervise script changes to process java opts array use argparse, leave free memory, logging * Remove extra quotes from mm task javaopts array * Update logic to compute minimum memory * simplify run-druid * remove debug options from run-druid * resolve the config_path provided * comment out service specific runtime properties which are computed in the code * simplify run-druid * clean up docs, naming changes * Throw ValueError exception on illegal state * update docs * rename args, compute_only -> compute, run_zk -> zk * update help documentation * update help documentation * move task memory computation into separate method * Add validation checks * remove print * Add validations * remove start-druid bash script, rename start-druid-main * Include tasks in lower bound memory calculation * Fix test * 256m instead of 256g * caffeine cache uses 5% of heap * ensure min task count is 2, task count is monotonic * update configs and documentation for runtime props in conf/druid/single-server/quickstart * Update docs * Specify memory argument for each profile in single-server.md * Update middleManager runtime.properties * Move quickstart configs to conf/druid/base, add bash launch script, support python2 * Update supervise script * rename base config directory to auto * rename python script, changes to pass repeated args to supervise * remove exmaples/conf/druid/base dir * add docs * restore changes in conf dir * update start-druid-auto * remove hashref for commands in supervise script * start-druid-main java_opts array is comma separated * update entry point script name in python script * Update help docs * documentation changes * docs changes * update docs * add support for running indexer * update supported services list * update help * Update python.md * remove dir * update .spelling * Remove dependency on psutil and pathlib * update docs * Update get_physical_memory method * Update help docs * update docs * update method to get physical memory on python * udpate spelling * update .spelling * minor change * Minor change * memory comptuation for indexer * update start-druid * Update python.md * Update single-server.md * Update python.md * run python3 --version to check if python is installed * Update supervise script * start-druid: echo message if python not found * update anchor text * minor change * Update condition in supervise script * JVM not jvm in docs
92 lines
2.7 KiB
Bash
Executable File
92 lines
2.7 KiB
Bash
Executable File
#!/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 <service> [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: <service> <conf_path> <jvm_args> or <service> <conf_path> <jvm_args> <mm_task_count mm_task_java_props>
|
|
JVMARGS=`cat "$CONFDIR/_common/common.jvm.config" | xargs`
|
|
JVMARGS+=' '
|
|
JVMARGS+=$3
|
|
|
|
if [ "$#" -eq 3 ]
|
|
then
|
|
# args: <service> <conf_path> <jvm_args>
|
|
exec "$WHEREAMI"/run-java -Ddruid.node.type=$1 "-Ddruid.log.path=$LOG_DIR" $JVMARGS \
|
|
-cp $CLASS_PATH $MAIN_CLASS
|
|
else
|
|
# args: <service> <conf_path> <jvm_args> <mm_task_count mm_task_java_props>
|
|
exec "$WHEREAMI"/run-java -Ddruid.node.type=$1 $4 "-Ddruid.log.path=$LOG_DIR" $JVMARGS \
|
|
-cp $CLASS_PATH $MAIN_CLASS
|
|
fi
|
|
else
|
|
# args: <service> <conf_path>
|
|
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
|