Files
graylog2-server/data-node/bin/graylog-datanode.sh

54 lines
1.4 KiB
Bash
Executable File

#!/usr/bin/env bash
set -eo pipefail
# Resolve links - $0 may be a softlink
DATANODE_BIN="$0"
while [ -h "$DATANODE_BIN" ]; do
ls=$(ls -ld "$DATANODE_BIN")
link=$(expr "$ls" : '.*-> \(.*\)$')
if expr "$link" : '/.*' > /dev/null; then
DATANODE_BIN="$link"
else
DATANODE_BIN=$(dirname "$DATANODE_BIN")/"$link"
fi
done
DATANODE_ROOT="$(dirname "$(dirname "$DATANODE_BIN")")"
DATANODE_DEFAULT_JAR="${DATANODE_ROOT}/graylog-datanode.jar"
DATANODE_JVM_OPTIONS_FILE="${DATANODE_JVM_OPTIONS_FILE:-"$DATANODE_ROOT/config/jvm.options"}"
DATANODE_LOG4J_CONFIG_FILE="${DATANODE_LOG4J_CONFIG_FILE:-"$DATANODE_ROOT/config/log4j2.xml"}"
DATANODE_PARSED_JAVA_OPTS=""
if [ -f "$DATANODE_JVM_OPTIONS_FILE" ]; then
DATANODE_PARSED_JAVA_OPTS=$(grep '^-' "$DATANODE_JVM_OPTIONS_FILE" | tr '\n' ' ')
fi
DATANODE_JAVA_OPTS="-Dlog4j.configurationFile=file://$(readlink -f "${DATANODE_LOG4J_CONFIG_FILE}") ${DATANODE_PARSED_JAVA_OPTS% } $JAVA_OPTS"
DATANODE_JAR=${DATANODE_JAR:="$DATANODE_DEFAULT_JAR"}
JAVA_CMD="${JAVA_CMD}"
if [ -z "$JAVA_CMD" ]; then
if [ -d "$DATANODE_ROOT/jvm" ]; then
JAVA_HOME="$DATANODE_ROOT/jvm"
else
echo "ERROR: Java is not installed."
exit 1
fi
fi
if [ -n "$JAVA_HOME" ]; then
java_cmd="${JAVA_HOME}/bin/java"
if [ -x "$java_cmd" ]; then
JAVA_CMD="$java_cmd"
else
echo "$java_cmd not executable or doesn't exist"
exit 1
fi
fi
exec "$JAVA_CMD" ${DATANODE_JAVA_OPTS% } -jar "$DATANODE_JAR" "$@"