#!/bin/sh CDPATH="" SCRIPT="$0" # SCRIPT may be an arbitrarily deep series of symlinks. Loop until we have the concrete path. while [ -h "$SCRIPT" ] ; do ls=`ls -ld "$SCRIPT"` # Drop everything prior to -> link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then SCRIPT="$link" else SCRIPT=`dirname "$SCRIPT"`/"$link" fi done # determine elasticsearch home ES_HOME=`dirname "$SCRIPT"`/.. # make ELASTICSEARCH_HOME absolute ES_HOME=`cd "$ES_HOME"; pwd` # Sets the default values for elasticsearch variables used in this script if [ -z "$CONF_DIR" ]; then CONF_DIR="$ES_HOME/config" if [ -z "$CONF_FILE" ]; then CONF_FILE="$CONF_DIR/elasticsearch.yml" fi fi if [ -z "$CONF_FILE" ]; then CONF_FILE="$ES_HOME/config/elasticsearch.yml" fi # The default env file is defined at building/packaging time. # For a tar.gz package, the value is "". ES_ENV_FILE="" # If an include is specified with the ES_INCLUDE environment variable, use it if [ -n "$ES_INCLUDE" ]; then ES_ENV_FILE="$ES_INCLUDE" fi # Source the environment file if [ -n "$ES_ENV_FILE" ]; then # If the ES_ENV_FILE is not found, try to resolve the path # against the ES_HOME directory if [ ! -f "$ES_ENV_FILE" ]; then ES_ENV_FILE="$ELASTIC_HOME/$ES_ENV_FILE" fi . "$ES_ENV_FILE" if [ $? -ne 0 ]; then echo "Unable to source environment file: $ES_ENV_FILE" >&2 exit 1 fi fi if [ -x "$JAVA_HOME/bin/java" ]; then JAVA=$JAVA_HOME/bin/java else JAVA=`which java` fi # real getopt cannot be used because we need to hand options over to the PluginManager while [ $# -gt 0 ]; do case $1 in -D*=*) properties="$properties \"$1\"" ;; -D*) var=$1 shift properties="$properties \"$var\"=\"$1\"" ;; *) args="$args \"$1\"" esac shift done # check if properties already has a config file or config dir if [ -e "$CONF_DIR" ]; then case "$properties" in *-Des.default.path.conf=*|*-Des.path.conf=*) ;; *) properties="$properties -Des.default.path.conf=\"$CONF_DIR\"" ;; esac fi if [ -e "$CONF_FILE" ]; then case "$properties" in *-Des.default.config=*|*-Des.config=*) ;; *) properties="$properties -Des.default.config=\"$CONF_FILE\"" ;; esac fi export HOSTNAME=`hostname -s` eval "$JAVA" $JAVA_OPTS $ES_JAVA_OPTS -Xmx64m -Xms16m -Delasticsearch -Des.path.home=\""$ES_HOME"\" $properties -cp \""$ES_HOME/lib/*"\" org.elasticsearch.plugins.PluginManager $args