56 lines
1.7 KiB
Django/Jinja
56 lines
1.7 KiB
Django/Jinja
[Unit]
|
|
Description=Elasticsearch-{{es_instance_name}}
|
|
Documentation=http://www.elastic.co
|
|
Wants=network-online.target
|
|
After=network-online.target
|
|
|
|
[Service]
|
|
Environment=ES_HOME={{es_home}}
|
|
Environment=CONF_DIR={{conf_dir}}
|
|
Environment=DATA_DIR={{ data_dirs | array_to_str }}
|
|
Environment=LOG_DIR={{log_dir}}
|
|
Environment=PID_DIR={{pid_dir}}
|
|
EnvironmentFile=-{{instance_default_file}}
|
|
|
|
User={{es_user}}
|
|
Group={{es_group}}
|
|
|
|
ExecStart={{es_home}}/bin/elasticsearch \
|
|
-Des.pidfile=${PID_DIR}/elasticsearch.pid \
|
|
-Des.default.path.home=${ES_HOME} \
|
|
-Des.default.path.logs=${LOG_DIR} \
|
|
-Des.default.path.data=${DATA_DIR} \
|
|
-Des.default.path.conf=${CONF_DIR}
|
|
|
|
|
|
|
|
# Connects standard output to /dev/null
|
|
StandardOutput=null
|
|
|
|
# Connects standard error to journal
|
|
StandardError=journal
|
|
|
|
# Specifies the maximum file descriptor number that can be opened by this process
|
|
LimitNOFILE={{es_max_open_files}}
|
|
|
|
# Specifies the maximum number of bytes of memory that may be locked into RAM
|
|
# Set to "infinity" if you use the 'bootstrap.mlockall: true' option
|
|
# in elasticsearch.yml and 'MAX_LOCKED_MEMORY=unlimited' in {{instance_default_file}}
|
|
{% if m_lock_enabled %}
|
|
LimitMEMLOCK=infinity
|
|
{% endif %}
|
|
|
|
# Disable timeout logic and wait until process is stopped
|
|
TimeoutStopSec=0
|
|
|
|
# SIGTERM signal is used to stop the Java process
|
|
KillSignal=SIGTERM
|
|
|
|
# Java process is never killed
|
|
SendSIGKILL=no
|
|
|
|
# When a JVM receives a SIGTERM signal it exits with code 143
|
|
SuccessExitStatus=143
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|