在 elasticsearch 中重启节点的正确方法是什么? (最好通过 REST API,java API 也可以)
原文由 user1768906 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 elasticsearch 中重启节点的正确方法是什么? (最好通过 REST API,java API 也可以)
原文由 user1768906 发布,翻译遵循 CC BY-SA 4.0 许可协议
每次节点关闭和/或新节点出现时,集群都会重新分配分片,这在您只需要重新启动节点时可能不需要,因此您可以使用滚动重启:
首先禁用分片分配:
PUT /_cluster/settings { “transient” : { “cluster.routing.allocation.enable” : “none” } }
重启节点 service elasticsearch restart
启用分片分配:
PUT /_cluster/settings { “transient” : { “cluster.routing.allocation.enable” : “all” } }
更多相关信息: 这里
原文由 Tiago Lopo 发布,翻译遵循 CC BY-SA 3.0 许可协议
15 回答8.2k 阅读
8 回答5.9k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
1 回答2.1k 阅读✓ 已解决
重启节点的正确方法是关闭它,使用 关闭 API 或发送
TERM
信号给进程(例如kill $PID
)。一旦关闭,您可以使用您用来运行 elasticsearch 的任何东西来启动一个新节点,例如服务包装器,或者只是从命令行启动它。
如果您正在使用服务包装器,则可以通过将
restart
命令传递给它来重新启动节点:例如/etc/init.d/elasticsearch restart
但这只是上述内容的便利包装器。restart
API 自 0.11 版以来已被禁用,因为它存在问题。