Apply your updated Elasticsearch spec and the operator will perform rolling update for you. If for any reason you need to restart a pod, you use kubectl delete pod <es pod> -n <your es namespace> to remove the pod and the operator will spin up new one for you.
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.
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:
first disable shard allocation:
PUT /_cluster/settings { "transient" : { "cluster.routing.allocation.enable" : "none" } }
restart the node service elasticsearch restart
Enable shard allocation:
PUT /_cluster/settings { "transient" : { "cluster.routing.allocation.enable" : "all" } }
There is a restart API analogous to the shutdown API. Just replace "shutdown" with "restart". See also the issue on github.
For restarting elasticserch service, first check the status and then restart that would give a clear picture
sudo service elasticsearch.service status -l
sudo service elasticsearch.service restart
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With