Skip to content

Instantly share code, notes, and snippets.

@dcode
Last active September 7, 2016 16:27
Show Gist options
  • Save dcode/06fbfbcb838df5dc9188db1b8e030c15 to your computer and use it in GitHub Desktop.
Save dcode/06fbfbcb838df5dc9188db1b8e030c15 to your computer and use it in GitHub Desktop.
Example template service file for multiple instances. Set `node.name` in `elasticsearch.yml` to ${NODENAME}.
[Unit]
Description=Elasticsearch
Documentation=http://www.elastic.co
Wants=network-online.target
After=network-online.target
[Service]
Environment=ES_HOME=/usr/share/elasticsearch
Environment=CONF_DIR=/etc/elasticsearch
Environment=DATA_DIR=/var/lib/elasticsearch
Environment=LOG_DIR=/var/log/elasticsearch
Environment=PID_DIR=/var/run/elasticsearch
Environment=NODENAME="${HOSTNAME}-%i"
EnvironmentFile=-/etc/sysconfig/elasticsearch
WorkingDirectory=/usr/share/elasticsearch
User=elasticsearch
Group=elasticsearch
ExecStartPre=/usr/share/elasticsearch/bin/elasticsearch-systemd-pre-exec
ExecStart=/usr/share/elasticsearch/bin/elasticsearch \
-p ${PID_DIR}/elasticsearch-%i.pid \
-Edefault.path.logs=${LOG_DIR} \
-Edefault.path.data=${DATA_DIR} \
-Edefault.path.conf=${CONF_DIR}
StandardOutput=journal
StandardError=inherit
# Specifies the maximum file descriptor number that can be opened by this process
LimitNOFILE=65536
# Specifies the maximum number of bytes of memory that may be locked into RAM
# Set to "infinity" if you use the 'bootstrap.memory_lock: true' option
# in elasticsearch.yml and 'MAX_LOCKED_MEMORY=unlimited' in /etc/sysconfig/elasticsearch
LimitMEMLOCK=infinity
# 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
# Set limits for this instance
MemoryLimit=64G
[Install]
WantedBy=multi-user.target
# Built for distribution-5.0.0-alpha4 (distribution)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment