15

Using the apt-get package for ElasticSearh, how can I configure the service to restart itself automatically after crashing on Ubuntu?

Avishai
  • 4,512
  • 4
  • 41
  • 67

3 Answers3

27

Restart on failure option is missing in the default service of elasticsearch.

So, We can add Restart=always option in the service.

Steps to add - Restart=always

  1. Edit elasticsearch service unit file using the command sudo systemctl edit elasticsearch.service. This command will create a file /etc/systemd/system/elasticsearch.service.d/override.conf.

  2. Now, add the following lines in the unit file.

    [Service]
    Restart=always
    
  3. Save the file and refresh the unit file using command sudo systemctl daemon-reload
  4. Can check the changes using command sudo systemctl cat elasticsearch.service.

Note:

We can use Restart= always, on-abnormal, on-success, on-failure, etc based on the requirement. Reference.

Editing unit file - Reference

karthick
  • 5,998
  • 12
  • 52
  • 90
2

Auto restart elasticsearch services in 7.14.1:

Go to:

nano /usr/lib/systemd/system/elasticsearch.service 

The location of the service file is changed in 7.14.1

Then add this line to the service file:

[Service]

Restart=always

After that save the file and restart the elasticsearch service.

Now you are good to go. (After this there won't be any crash)

SANDEEP S
  • 71
  • 1
  • 3
1

Write a #!/bin/sh script as follows:

if ps -ef | grep -v grep | grep elastic ; then
         exit 0
else
    /etc/init.d/elasticsearch start >> /var/run/elasticsearch.pid &
    exit 0
fi
maesk
  • 186
  • 3
  • 13
ecaleohs
  • 21
  • 1
  • It didn't add in my new lines. - insert a break after "then", "exit 0", "else", "..znc.pid & "exit 0". last line is fi. – ecaleohs Oct 15 '14 at 14:01