瞬态动态群集设置
如果你需要在群集启动后动态应用设置,并且实际上可以动态设置,则可以使用 _cluster/settings
API 进行设置。
瞬态设置是可以应用的两种群集范围设置之一。瞬态设置无法在完整群集重启后继续存在。
注意:并非所有设置都可以动态应用。例如,无法动态重命名群集的名称。大多数节点级别的设置也不能动态设置(因为它们不能单独定位)。
这不是用于设置索引级设置的 API。你可以告诉该设置是索引级别设置,因为它应该以 index.
开头。名称以 indices.
形式的设置是群集范围的设置,因为它们适用于所有索引。
POST /_cluster/settings
{
"transient": {
"cluster.routing.allocation.enable": "none"
}
}
警告 :在 Elasticsearch 1.x 和 2.x 中,如果没有完全重新启动群集,则无法取消设置瞬态设置。
幸运的是,这已在 Elasticsearch 5.x 中得到改进,你现在可以通过将其设置为 null 来删除设置:
POST /_cluster/settings
{
"transient": {
"cluster.routing.allocation.enable": null
}
}
未设置的设置将返回其默认值或任何以较低优先级定义的值(例如,persistent
设置)。