ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
# Cluster Update Settings 原文链接 : [https://www.elastic.co/guide/en/elasticsearch/reference/5.0/cluster-update-settings.html](https://www.elastic.co/guide/en/elasticsearch/reference/5.0/cluster-update-settings.html) 译文链接 : [http://www.apache.wiki/display/Elasticsearch/Cluster+Update+Settings](http://www.apache.wiki/display/Elasticsearch/Cluster+Update+Settings) 贡献者 : [那伊抹微笑](/display/~wangyangting) 可以更新集群范围中指定的配置。更新的配置既可以是永久的(需要重启集群),也可以是瞬时的(不需要重启集群)。下面是一些示例 :  ``` curl -XPUT localhost:9200/_cluster/settings -d '{ "persistent" : { "discovery.zen.minimum_master_nodes" : 2 } }' ``` 或者 :  ``` curl -XPUT localhost:9200/_cluster/settings -d '{ "transient" : { "discovery.zen.minimum_master_nodes" : 2 } }' ``` 该集群响应了更新的配置。所以最后一个示例的响应将是 :  ``` { "persistent" : {}, "transient" : { "discovery.zen.minimum_master_nodes" : "2" } }' ``` 可以通过分配一个 **null** 值来重新设置永久的或者瞬时的配置。如果瞬时的配置被重置了,如果可用的话永久的配置会生效。否则,**Elasticsearch** 将回滚到定义在配置文件中的配置,如果不存在,会应用默认值,下面是一个示例 :  ``` curl -XPUT localhost:9200/_cluster/settings -d '{ "transient" : { "discovery.zen.minimum_master_nodes" : null } }' ``` 重置配置不会包含集群的响应。所以最后一个例子将会响应 :  ``` { "persistent" : {}, "transient" : {} } ``` 配置也可以使用简单的通配符来重置。例如动态的重启所有 **discovery.zen**,可以使用前缀 :  ``` curl -XPUT localhost:9200/_cluster/settings -d '{ "transient" : { "discovery.zen.*" : null } }' ``` 集群范围内的配置可以是使用下列方式返回 :  ``` curl -XGET localhost:9200/_cluster/settings ``` ## Precedence of settings(优先级设置) 瞬时的集群配置优先级大于永久的集群配置,优先级的配置可以在**elasticsearch.yml** 配置文件中配置。 由于这个原因,仅对于本地配置来说使用 `**elasticsearch.yml** 文件`,和用 **settings API** 来设置所有集群范围内的配置是更好的。