可以更新集群范围中指定的配置。更新的配置既可以是永久的(需要重启集群),也可以是瞬时的(不需要重启集群)。下面是一些示例 :
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
瞬时的集群配置优先级大于永久的集群配置,优先级的配置可以在elasticsearch.yml 配置文件中配置。
由于这个原因,仅对于本地配置来说使用 **elasticsearch.yml** 文件
,和用 settings API 来设置所有集群范围内的配置是更好的。