可以通过cluster update settings接口来动态的设置集群的一些配置。
远程恢复设置
可以通过下面的设置来限制恢复的速率:
ccr.indices.recovery.max_bytes_per_sec
限制每个节点上总的入站和出站远程恢复流量。由于此限制适用于每个节点,但是可能有许多节点同时执行远程恢复,因此远程恢复字节的总数可能远远高于此限制。如果将此限制设置得过高,则存在这样的风险,即正在进行的远程恢复将消耗过多的带宽(或其他资源),从而破坏集群的稳定。这个设置被leader和follower集群使用。例如,如果将leader上的值设置为20mb,即使follower请求并可以接受60mb/s, leader也只会向follower发送20mb/s。默认是40mb/s。
远程恢复高级设置
可以使用一些高级设置来恢复远程设置。
ccr.indices.recovery.max_concurrent_file_chunks
设置可以并发发送的文件数,默认是5个,最大是10个。如果已经有多个远程恢复已经在并行处理了,该设置只有在ccr.indices.recovery.max_bytes_per_sec没有到达设置点的时候才有用。
ccr.indices.recovery.chunk_size
控制分片的大小。默认是1mb.
ccr.indices.recovery.recovery_activity_timeout
控制恢复活动的超时时间。这个超时主要应用于leader集群,leader集群必须打开内存中的资源,以便在恢复过程中向follower提供数据,如果leader在这段时间内没有收到来自follower的恢复请求,那么它将关闭资源,默认是60秒。
ccr.indices.recovery.internal_action_timeout
控制远程恢复过程中单个网络请求的超时,个别行动超时可能会导致复苏失败,默认是60秒。
部分接口
查询集群设置
GET /_cluster/settings
返回值
{
"persistent": {},
"transient": {}
}
设置集群配置
PUT /_cluster/settings
{
"persistent" : {
"indices.recovery.max_bytes_per_sec" : "50mb"
}
}
返回值
{
...
"persistent" : { },
"transient" : {
"indices.recovery.max_bytes_per_sec" : "20mb"
}
}
注意:本文归作者所有,未经作者允许,不得转载