动态变更设置edit

Elasticsearch 里很多设置都是动态的,可以通过 API 修改。 需要强制重启节点(或者集群)的配置修改都要极力避免。 虽然也可以通过静态配置项完成变更,但仍然推荐使用 API。

cluster-update API 有两种工作模式:

临时的(Transient)
这些变更在集群重启之前一直会生效。一旦整个集群重启,这些配置就会被清除。
永久的(Persistent)
这些变更会永久存在直到被显式修改。 即使整个集群重启它们也会保留下来,并覆盖掉静态配置文件里的选项。

临时或永久配置需要在 JSON 体里分别指定:

PUT /_cluster/settings
{
    "persistent" : {
        "discovery.zen.minimum_master_nodes" : 2 
    },
    "transient" : {
        "indices.store.throttle.max_bytes_per_sec" : "50mb" 
    }
}

这个永久设置会在整个集群重启时保留下来。

这个临时设置会在整个集群第一次重启后被移除。

可以动态更新的设置的完整清单,请阅读 在线参考文档