1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- #!/bin/bash
-
- set -e -o pipefail
-
- CDPATH=""
-
- SCRIPT="$0"
-
- # SCRIPT might be an arbitrarily deep series of symbolic links; 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; to do this, we strip from the path until we find
- # bin, and then strip bin (there is an assumption here that there is no nested
- # directory under bin also named bin)
- ES_HOME=`dirname "$SCRIPT"`
-
- # now make ES_HOME absolute
- ES_HOME=`cd "$ES_HOME"; pwd`
-
- while [ "`basename "$ES_HOME"`" != "bin" ]; do
- ES_HOME=`dirname "$ES_HOME"`
- done
- ES_HOME=`dirname "$ES_HOME"`
-
- # now set the classpath
- ES_CLASSPATH="$ES_HOME/lib/*"
-
- # now set the path to java
- if [ -x "$JAVA_HOME/bin/java" ]; then
- JAVA="$JAVA_HOME/bin/java"
- else
- set +e
- JAVA=`which java`
- echo "warning: Falling back to java on path. This behavior is deprecated. Specify JAVA_HOME"
- set -e
- fi
-
- if [ ! -x "$JAVA" ]; then
- echo "could not find java; set JAVA_HOME" >&2
- exit 1
- fi
-
- # do not let JAVA_TOOL_OPTIONS slip in (as the JVM does by default)
- if [ ! -z "$JAVA_TOOL_OPTIONS" ]; then
- echo "warning: ignoring JAVA_TOOL_OPTIONS=$JAVA_TOOL_OPTIONS"
- unset JAVA_TOOL_OPTIONS
- fi
-
- # JAVA_OPTS is not a built-in JVM mechanism but some people think it is so we
- # warn them that we are not observing the value of $JAVA_OPTS
- if [ ! -z "$JAVA_OPTS" ]; then
- echo -n "warning: ignoring JAVA_OPTS=$JAVA_OPTS; "
- echo "pass JVM parameters via ES_JAVA_OPTS"
- fi
-
- # check the Java version
- "$JAVA" -cp "$ES_CLASSPATH" org.elasticsearch.tools.java_version_checker.JavaVersionChecker
-
- export HOSTNAME=$HOSTNAME
-
- if [ -z "$ES_PATH_CONF" ]; then ES_PATH_CONF="$ES_HOME"/config; fi
-
- if [ -z "$ES_PATH_CONF" ]; then
- echo "ES_PATH_CONF must be set to the configuration path"
- exit 1
- fi
-
- # now make ES_PATH_CONF absolute
- ES_PATH_CONF=`cd "$ES_PATH_CONF"; pwd`
-
- ES_DISTRIBUTION_FLAVOR=default
- ES_DISTRIBUTION_TYPE=tar
-
- if [ -z "$ES_TMPDIR" ]; then
- ES_TMPDIR=`"$JAVA" -cp "$ES_CLASSPATH" org.elasticsearch.tools.launchers.TempDirectory`
- fi
|