一、加快索引recovery速度
当ES扩容缩容时,若分片太大,分片初始化会很慢,此时可选择修改ES配置加快recovery速度。若是生产环境ES在对外提供服务,es默认配置也可能导致对外服务频繁抖动,也可以通过修改配置降低recovery速度。es默认限制了并行恢复的数量,速度等。
修改分片迁移的配置,以便在rebalance或者recovery时更快恢复集群。
indices.recovery.max_bytes_per_sec:恢复时单个节点的总进出流量限制。(默认40mb)
indices.recovery.max_concurrent_file_chunks:恢复时可并发拷贝的文件块数量。(默认2)
cluster.routing.allocation.cluster_concurrent_rebalance:整个集群范围内允许同时rebalance的shard数。(默认2)
cluster.routing.allocation.node_initial_primaries_recoveries:单个节点主分片并行恢复的数据。(默认4)
cluster.routing.allocation.node_concurrent_recoveries:单个节点允许同时接收、传出恢复的shard数,(默认2)
1、加快分片恢复速度命令设置如下
PUT /_cluster/settings
{
"transient" : {
"cluster.routing.allocation.node_concurrent_recoveries":10,
"cluster.routing.allocation.cluster_concurrent_rebalance":10,
"indices.recovery.max_bytes_per_sec" : "200mb"
}
}
注意:可根据集群实际情况适当调大参数,参数调的越大,内部通信带宽占用会越大,集群读、写性能受影响会越大
2、为避免大的波动影响,可参考设置如下
PUT /_cluster/settings
{
"transient": {
"cluster.routing.allocation.node_concurrent_recoveries": 2,
"cluster.routing.allocation.cluster_concurrent_rebalance": 2,
"indices.recovery.max_bytes_per_sec": "1mb"
}
}
若对外服务仍是频繁波动,可继续降低速度和并行数量,可根据服务情况调整。
3、重置索引配置
PUT /_cluster/settings
{
"transient": {
"cluster.routing.allocation.node_concurrent_recoveries": null,
"cluster.routing.allocation.cluster_concurrent_rebalance": null,
"indices.recovery.max_bytes_per_sec": null
}
}
4、查看配置 GET _cluster/settings
5、若节点有问题,可节点数据迁移走,不再使用。
PUT _cluster/settings
{
"transient": {
"cluster.routing.allocation.exclude._name" : "node-15,node-25,node-27,node-31,node-29"
}
}
6、节点恢复
{
"transient": {
"cluster.routing.allocation.exclude._name": null
}
}
二、查看index recovery进度
GET _recovery?detailed=true&active_only=true文章来源:https://www.toymoban.com/news/detail-419102.html
三、查看索引分片数据情况
GET _cat/shards/索引名字文章来源地址https://www.toymoban.com/news/detail-419102.html
到了这里,关于ES高级操作手册的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!