69 lines
2.0 KiB
Django/Jinja
69 lines
2.0 KiB
Django/Jinja
[Unit]
|
|
Description=Elasticsearch
|
|
Documentation=https://www.elastic.co
|
|
Wants=network-online.target
|
|
After=network-online.target
|
|
|
|
[Service]
|
|
Type=notify
|
|
# the elasticsearch process currently sends the notifications back to systemd
|
|
# and for some reason exec does not work (even though it is a child). We should change
|
|
# this notify access back to main (the default), see https://github.com/elastic/elasticsearch/issues/86475
|
|
NotifyAccess=all
|
|
RuntimeDirectory=elasticsearch
|
|
PrivateTmp=true
|
|
Environment=ES_HOME={{ elastic_home }}
|
|
Environment=ES_PATH_CONF={{ elastic_conf }}
|
|
Environment=PID_DIR={{ elastic_home }}
|
|
Environment=ES_SD_NOTIFY=true
|
|
EnvironmentFile=-@path.env@
|
|
|
|
WorkingDirectory={{ elastic_home }}
|
|
|
|
User={{ elastic_usr }}
|
|
Group={{ elastic_grp }}
|
|
|
|
ExecStart={{ elastic_link }}/bin/systemd-entrypoint -p ${PID_DIR}/elasticsearch.pid --quiet
|
|
|
|
# StandardOutput is configured to redirect to journalctl since
|
|
# some error messages may be logged in standard output before
|
|
# elasticsearch logging system is initialized. Elasticsearch
|
|
# stores its logs in /var/log/elasticsearch and does not use
|
|
# journalctl by default. If you also want to enable journalctl
|
|
# logging, you can simply remove the "quiet" option from ExecStart.
|
|
StandardOutput=journal
|
|
StandardError=inherit
|
|
|
|
# Specifies the maximum file descriptor number that can be opened by this process
|
|
LimitNOFILE=65535
|
|
|
|
# Specifies the maximum number of processes
|
|
LimitNPROC=4096
|
|
|
|
# Specifies the maximum size of virtual memory
|
|
LimitAS=infinity
|
|
|
|
# Specifies the maximum file size
|
|
LimitFSIZE=infinity
|
|
|
|
# Disable timeout logic and wait until process is stopped
|
|
TimeoutStopSec=0
|
|
|
|
# SIGTERM signal is used to stop the Java process
|
|
KillSignal=SIGTERM
|
|
|
|
# Send the signal only to the JVM rather than its control group
|
|
KillMode=process
|
|
|
|
# Java process is never killed
|
|
SendSIGKILL=no
|
|
|
|
# When a JVM receives a SIGTERM signal it exits with code 143
|
|
SuccessExitStatus=143
|
|
|
|
# Allow a slow startup before the systemd notifier module kicks in to extend the timeout
|
|
TimeoutStartSec=900
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|