更新集群设置
使用此API可以查看和更改集群设置。
要查看集群设置:
GET /_cluster/settings
默认情况下,此API调用仅返回已明确定义的设置,但也可以包含默认设置。
对设置的更新可以是持久的,这意味着它们可以在重新启动时应用,也可以在瞬态时应用,在这些情以下是持久更新的示例:
PUT /_cluster/settings
{
"persistent" : {
"indices.recovery.max_bytes_per_sec" : "50mb"
}
}
此更新是暂时的:
PUT /_cluster/settings?flat_settings=true
{
"transient" : {
"indices.recovery.max_bytes_per_sec" : "20mb"
}
}
对更新的响应将返回更改的设置,如对瞬态示例的响应:
{
...
"persistent" : { },
"transient" : {
"indices.recovery.max_bytes_per_sec" : "20mb"
}
}
您可以通过指定空值来重置持久或瞬态设置。如果重置瞬态设置,则应用定义的这些值中的第一个:
- 持久的设定
- 配置文件中的设置
- 默认值。
此示例重置设置:
PUT /_cluster/settings
{
"transient" : {
"indices.recovery.max_bytes_per_sec" : null
}
}
响应不包括已重置的设置:
{
...
"persistent" : {},
"transient" : {}
}
您还可以使用通配符重置设置。 例如,要重置所有动态indices.recovery设置:
PUT /_cluster/settings
{
"transient" : {
"indices.recovery.*" : null
}
}
优先顺序
集群设置的优先顺序是:
- 瞬态集群设置
- 持久集群设置
elasticsearch.yml配置文件中的设置。 最好使用settingsAPI设置所有集群设置,并仅将elasticsearch.yml文件用于本地配置。 这样,您可以确保所有节点上的设置都相同。 另一方面,如果您使用配置文件不小心在不同节点上定义了不同的设置,会很难发现问题。
您可以在模块中找到可以动态更新的设置列表。