elasticsearch配置
集群和节点的配置类型
动态类型
1.使用API设置或更新正在运行的集群的动态配置。
2.elasticsearch.yml文件配置动态配置
3.使用集群设置API进行更新可以是持久的,适用于集群重新启动,也可以是暂时的,集群重启后失效。可以指定设置一个null应用在动态更新API上,去重置永久或临时设置。
4.相同配置参数优先级(高到底)
1)临时设置(API)
2)持久设置(API)
3)elasticsearch.yml setting
4)默认配置
静态类型
1.静态配置只能配置在elasticsearch.yml文件中,且不能立马生效(需重启集群)。
2.静态配置必须各个节点都需要配置,即各相关节点elasticsearch.yml保持一致
详见
集群动态API配置
请求方式
PUT /_cluster/settings
描述
使用特殊的请求体,此API调用可以更新就请你设置,更新可以是持久的,也可以是非持久的。
可以通过分配一个NULL值来重置永久或临时设置。如果是重置临时设置,将应用定义的这些值的第一个(即重置后默认优先级配置)
持久化设置
elasticsearch.yml
默认值
查询参数
flat_settings
(可选参数,布尔值)为true则以特定的格式返回设置。默认为false
include_defaults
(可选参数,布尔值)为true则返回集群所有默认配置。默认为false
master_timeout
(可选参数,时间)指定主节点超时连接时间,如果在超时到期之前没有收到响应,这个请求失败且会返回一个错位信息。默认值30秒
timeout
(可选参数,时间)指定请求响应时间,如果在超时到期之前没有收到响应,这个请求失败且返回一个错误信息。默认值30秒
请求样例
持久化配置样例
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"
}
}
响应返回更改的设置,如临时设置更改
PUT /_cluster/settings
{
"persistent" : { },
"transient" : {
"indices.recovery.max_bytes_per_sec" : "20mb"
}
}
重置配置
PUT /_cluster/settings
{
"transient" : {
"indices.recovery.max_bytes_per_sec" : null
}
}
响应中不包含已重置的设置
GET /_cluster/settings
{
"persistent" : {},
"transient" : {}
}
}
可以使用通配符来来重置配置
PUT /_cluster/settings
{
"transient" : {"indices.recovery.*":null}
}