mirror of
https://github.com/NationalSecurityAgency/datawave.git
synced 2026-11-10 17:31:14 -10:00
…s from NationalSecurityAgency/datawave-stack-docker-images --------- Co-authored-by: Moriarty <[email protected]> Co-authored-by: Claude Opus 5 <[email protected]>
50 lines
2.0 KiB
Bash
Executable File
50 lines
2.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
ACCUMULO_LOG_DIR="${ACCUMULO_LOG_DIR:-${basedir}/logs}"
|
|
HADOOP_HOME="${HADOOP_HOME:-/usr/local/hadoop}"
|
|
HADOOP_CONF_DIR="${HADOOP_CONF_DIR:-/stack}"
|
|
ZOOKEEPER_HOME="${ZOOKEEPER_HOME:-/opt/zookeeper}"
|
|
|
|
ZK_JARS=$(find "${ZOOKEEPER_HOME}/lib" -maxdepth 1 -name '*.jar' \
|
|
-not -name '*slf4j*' -not -name '*log4j*' | paste -sd:)
|
|
# Put Accumulo's own libraries before an application-supplied classpath. The
|
|
# DataWave ingest distribution intentionally exports its full job classpath;
|
|
# prepending it would downgrade libraries required by the Accumulo launcher.
|
|
CLASSPATH="${conf}:${lib}/*:${HADOOP_CONF_DIR}:${ZOOKEEPER_HOME}/*:${ZK_JARS}:/usr/lib/hadoop/client/*${CLASSPATH:+:${CLASSPATH}}"
|
|
export CLASSPATH
|
|
|
|
read -r -a accumulo_initial_opts < <(echo "${ACCUMULO_JAVA_OPTS:-}")
|
|
JAVA_OPTS=(
|
|
'-XX:OnOutOfMemoryError=kill -9 %p'
|
|
'-XX:-OmitStackTraceInFastThrow'
|
|
'-Djava.net.preferIPv4Stack=true'
|
|
'-Dcom.google.protobuf.use_unsafe_pre22_gencode'
|
|
"-Daccumulo.native.lib.path=${lib}/native"
|
|
"${accumulo_initial_opts[@]}"
|
|
)
|
|
|
|
case "${cmd}" in
|
|
manager | master) JAVA_OPTS=('-Xmx512m' '-Xms512m' "${JAVA_OPTS[@]}") ;;
|
|
monitor) JAVA_OPTS=('-Xmx1g' '-Xms1g' "${JAVA_OPTS[@]}") ;;
|
|
gc) JAVA_OPTS=('-Xmx256m' '-Xms256m' "${JAVA_OPTS[@]}") ;;
|
|
tserver) JAVA_OPTS=('-Xmx1536m' '-Xms1536m' "${JAVA_OPTS[@]}") ;;
|
|
*) JAVA_OPTS=('-Xmx256m' '-Xms64m' "${JAVA_OPTS[@]}") ;;
|
|
esac
|
|
|
|
JAVA_OPTS=(
|
|
"-Daccumulo.log.dir=${ACCUMULO_LOG_DIR}"
|
|
"-Daccumulo.application=${cmd}${ACCUMULO_SERVICE_INSTANCE:-}_$(hostname)"
|
|
"-Daccumulo.metrics.service.instance=${ACCUMULO_SERVICE_INSTANCE:-}"
|
|
'-Dlog4j2.contextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector'
|
|
"${JAVA_OPTS[@]}"
|
|
)
|
|
|
|
case "${cmd}" in
|
|
monitor | gc | manager | master | tserver)
|
|
JAVA_OPTS=('-Dlog4j.configurationFile=log4j2-service.properties' "${JAVA_OPTS[@]}")
|
|
;;
|
|
esac
|
|
|
|
export MALLOC_ARENA_MAX="${MALLOC_ARENA_MAX:-1}"
|
|
export LD_LIBRARY_PATH="${HADOOP_HOME}/lib/native:${LD_LIBRARY_PATH:-}"
|