重启elasticsearch节点

时间:2013-01-02 08:42:07

标签: java scala elasticsearch

在elasticsearch中重启节点的正确方法是什么? (最好通过REST API,java API也可以)

4 个答案:

答案 0 :(得分:61)

重新启动节点的正确方法是使用shutdown API或向进程发送TERM信号(例如使用kill $PID)将其关闭。

关闭后,您可以使用运行elasticsearch的任何内容启动新节点,例如服务包装器,或者只是从命令行启动它。

如果您正在使用服务包装器,则可以通过向restart命令传递节点来重新启动节点:例如/etc/init.d/elasticsearch restart,但这只是上述的便利包装。

自版本0.11以来restart API已被禁用,因为它存在问题。

答案 1 :(得分:7)

有一个类似于shutdown API的重启API。只需将“shutdown”替换为“restart”即可。另请参阅issue on github

答案 2 :(得分:6)

每次节点出现故障和/或新节点出现时,集群都会重新分配分片,这在您只需要重新启动节点时可能不需要,因此您可以使用Rolling restart:

  1. 首先禁用分片分配:

    PUT / _cluster / settings    {        “短暂的” : {            “cluster.routing.allocation.enable”:“none”        }     }

  2. 重新启动节点service elasticsearch restart

  3. 启用分片分配:

    PUT / _cluster / settings {     “短暂的” : {         “cluster.routing.allocation.enable”:“all”     } }

  4. 更多相关信息:Here

答案 3 :(得分:0)

要重新启动Elasticserch服务,请先检查状态,然后重新启动以显示清晰的图片

sudo service elasticsearch.service status -l    
sudo service elasticsearch.service restart