在elasticsearch中重启节点的正确方法是什么? (最好通过REST API,java API也可以)
答案 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:
首先禁用分片分配:
PUT / _cluster / settings { “短暂的” : { “cluster.routing.allocation.enable”:“none” } }
重新启动节点service elasticsearch restart
启用分片分配:
PUT / _cluster / settings { “短暂的” : { “cluster.routing.allocation.enable”:“all” } }
更多相关信息:Here
答案 3 :(得分:0)
要重新启动Elasticserch服务,请先检查状态,然后重新启动以显示清晰的图片
sudo service elasticsearch.service status -l
sudo service elasticsearch.service restart