Restart elasticsearch node

What is the proper way to restart node in elasticsearch? (preferably via the REST API, java API might be ok too)

Answers


The correct way to restart a node is to shut it down, using either the shutdown API or sending a TERM signal to the process (eg with kill $PID).

Once shut down, you can start a new node using whatever you use to run elasticsearch, eg the service wrapper, or just starting it from the command line.

If you are using the service wrapper, you can restart a node by passing it the restart command: eg /etc/init.d/elasticsearch restart but that is just a convenience wrapper for the above.

The restart API has been disabled since version 0.11 as it was problematic.


There is a restart API analogous to the shutdown API. Just replace "shutdown" with "restart". See also the issue on github.


Every time a node goes down and/or and new node comes up, the cluster redistributes the shards, which may not be desired when you just need to restart a node, therefore you can make use of Rolling restart:

  1. first disable shard allocation:

    PUT /_cluster/settings { "transient" : { "cluster.routing.allocation.enable" : "none" } }

  2. restart the node service elasticsearch restart

  3. Enable shard allocation:

    PUT /_cluster/settings { "transient" : { "cluster.routing.allocation.enable" : "all" } }

More on this: Here


Need Your Help

Copy Groovy class properties

class groovy properties property-list expandometaclass

I want to copy object properties to another object in a generic way (if a property exists on target object, I copy it from the source object).

Calling a method in a Javascript Constructor and Accessing Its Variables

javascript prototype constructor methods

I am trying to call a method from the constructor of my javascript constructor, is this possible and if so, I can't seem to get it working, any insight would be great! Thanks!