109 lines
2.5 KiB
Bash
Executable File
109 lines
2.5 KiB
Bash
Executable File
#!/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="${packaging.plugin.default.config.dir}"
|
|
|
|
if [ -z "$CONF_FILE" ]; then
|
|
CONF_FILE="$CONF_DIR/elasticsearch.yml"
|
|
fi
|
|
fi
|
|
|
|
if [ -z "$CONF_FILE" ]; then
|
|
CONF_FILE="${packaging.plugin.default.config.file}"
|
|
fi
|
|
|
|
# The default env file is defined at building/packaging time.
|
|
# For a ${packaging.type} package, the value is "${packaging.env.file}".
|
|
ES_ENV_FILE="${packaging.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`
|
|
|
|
exec "$JAVA" $JAVA_OPTS $ES_JAVA_OPTS -Xmx64m -Xms16m -Delasticsearch -Des.path.home="$ES_HOME" $properties -cp "$ES_HOME/lib/*" org.elasticsearch.plugins.PluginManager $args
|