Elasticsearch 里很多设置都是动态的,可以通过 API 修改。需要强制重启节点(或者集群)的配置修改都要极力避免。而且虽然通过静态配置项也可以完成这些变更,我们建议你还是用 API 来实现。
集群更新 API 有两种工作模式:
临时(Transient)这些变更在集群重启之前一直会生效。一旦整个集群重启,这些配置就被清除。永久(Persistent)这些变更会永久存在直到被显式修改。即使全集群重启它们也会存活下来并覆盖掉静态配置文件里的选项。

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

  1. PUT /_cluster/settings
  2. {
  3. "persistent" : {
  4. "discovery.zen.minimum_master_nodes" : 2
  5. },
  6. "transient" : {
  7. "indices.store.throttle.max_bytes_per_sec" : "50mb"
  8. }
  9. }