#!/bin/bash set -e -o pipefail ES_HOME=/usr/share/elasticsearch # now set the classpath ES_CLASSPATH="$ES_HOME/lib/*" # now set the path to java ES_JAVA_HOME=${ES_JAVA_HOME:-/usr/lib/jvm/default-runtime} JAVA="$ES_JAVA_HOME/bin/java" JAVA_TYPE="ES_JAVA_HOME" if [ ! -x "$JAVA" ]; then echo "could not find java in $JAVA_TYPE at $JAVA" >&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 # warn that we are not observing the value of JAVA_HOME if [ ! -z "$JAVA_HOME" ]; then echo "warning: ignoring JAVA_HOME=$JAVA_HOME; using $JAVA_TYPE" >&2 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 if [[ "$("$JAVA" -version 2>/dev/null)" =~ "Unable to map CDS archive" ]]; then XSHARE="-Xshare:off" else XSHARE="-Xshare:auto" fi # check the Java version "$JAVA" "$XSHARE" -cp "$ES_CLASSPATH" org.elasticsearch.tools.java_version_checker.JavaVersionChecker export HOSTNAME=$HOSTNAME ES_PATH_CONF=${ES_PATH_CONF:-/etc/elasticsearch} ES_DISTRIBUTION_FLAVOR=default ES_DISTRIBUTION_TYPE=rpm ES_BUNDLED_JDK=false if [ -z "$ES_TMPDIR" ]; then ES_TMPDIR=`"$JAVA" -cp "$ES_CLASSPATH" org.elasticsearch.tools.launchers.TempDirectory` fi cd "$ES_HOME"