当我们重新启动单节点Elasticsearch实例时,它会开始分配它的分片。
分配分片需要更多可用内存,这会导致实例停止工作。
我们尝试在实例启动时通过执行跟随查询来快速禁用分配:
PUT /_cluster/settings
{
"transient" : {
"cluster.routing.allocation.enable" : "none"
}
}
此调用会超时,因为它正忙着尝试分配分片(资源太多)。
无法增加资源(内存/ CPU)的选项。
我们留下的唯一选择是在以下路径中删除文件系统上的大多数索引(当Elasticsearch实例关闭时):
/var/lib/elasticsearch/<id>/nodes/0/indices/
这被认为是安全的吗?这是一个合适的解决方案?是否有其他解决方案,如更新配置以禁用分片分配?