当前位置: 首页 > article >正文

es重启后调大恢复并发参数,加速分片分配

通过执行 GET /_cluster/allocation/explain 查看当前索引分配详情

"deciders": [{
			"decider": "throttling",
			"decision": "THROTTLE",
			"explanation": "reached the limit of outgoing shard recoveries [2] on the node [6gauyszJRDKhUo7clOCNsw] which holds the primary, cluster setting [cluster.routing.allocation.node_concurrent_outgoing_recoveries=2] (can also be set via [cluster.routing.allocation.node_concurrent_recoveries])"
		}]

如果 decider 中返回 “throttling” 时,通常表示该节点恢复并发达到上限,如果集群资源利用率比较低的话,可以适当调大恢复并发参数,加速分片分配。如果当前集群资源利用率比较高建议适当调小。

cluster.routing.allocation.node_initial_primaries_recoveries : 2,初始化主分片的数量

cluster.routing.allocation.cluster_concurrent_rebalance : 2,分片balance的数量

cluster.routing.allocation.node_concurrent_recoveries : 2,控制节点同时进行恢复和分配操作的数量

cluster.routing.allocation.node_concurrent_incoming_recoveries : 2,控制节点并发进行恢复操作的数量

cluster.routing.allocation.node_concurrent_outgoing_recoveries : 2,控制节点并发进行分配操作的数量

indices.recovery.max_bytes_per_sec : 40mb,带宽大小

解决方案

按需调整对应参数,初始化分片数量建议调大,balance数量一般不建议调大,否则会影响业务读写。其余并发恢复或分配数量一般建议调整为小于或等于单节点cpu核数。

Persistent设置:这些设置是持久的,一旦设置后将一直保持有效,即使集群重启也会保留。这意味着persistent设置会被写入到集群的配置文件中,并且会在每次启动时自动加载。

Transient设置:这些设置是临时的,它们在集群重启后不会保留。这意味着transient设置只在当前运行的集群会话中有效,并且在集群重启后会被重置为默认值。

如果只需临时修改并发的话,可以只修改transient

PUT _cluster/settings
{
    "persistent":{
        "cluster.routing.allocation.node_concurrent_recoveries":8, 
        "cluster.routing.allocation.node_concurrent_incoming_recoveries":8,
        "cluster.routing.allocation.node_initial_primaries_recoveries":8,
        "cluster.routing.allocation.node_concurrent_outgoing_recoveries":8,
        "cluster.routing.allocation.cluster_concurrent_rebalance":8,
        "indices.recovery.max_bytes_per_sec":"60mb"
    },
        "transient":{
        "cluster.routing.allocation.node_concurrent_recoveries":8,
        "cluster.routing.allocation.node_concurrent_incoming_recoveries":8,
        "cluster.routing.allocation.node_initial_primaries_recoveries":8,
        "cluster.routing.allocation.node_concurrent_outgoing_recoveries":8,
        "cluster.routing.allocation.cluster_concurrent_rebalance":8,
        "indices.recovery.max_bytes_per_sec":"60mb"
    }
}

http://www.kler.cn/a/284780.html

相关文章:

  • 红日靶机(七)笔记
  • 【贪心算法】——力扣763. 划分字母区间
  • git status 命令卡顿的排查
  • 大数据技术之Hadoop :我是恁爹
  • 异步提交Django
  • Redis安装(Windows环境)
  • 美团8/31—24年秋招【技术】第四场
  • 算法的空间复杂度
  • 【Redis】持久化——rdb机制
  • 零基础国产GD32单片机编程入门(九)低功耗模式实战含源码
  • 掌握CHECK约束:确保数据准确性的关键技巧
  • 【网络】HTTPS——HTTP的安全版本
  • GalaChain 全面剖析:为 Web3 游戏和娱乐而生的创新区块链
  • 速盾:Nginx使用CDN之后获取真实的用户IP
  • 机器学习--核心要点总结
  • k8s 存储
  • Spark自定义函数例子
  • 初识Vue.js:从零开始构建你的第一个Vue项目
  • 【C++ 第十八章】C++11 新增语法(3)
  • 工业智能物联网关,智慧医疗生态圈的创新驱动
  • 【Python机器学习】NLP词中的数学——词袋
  • 学习之MySQL约束
  • 【60天备战软考高级系统架构设计师——第四天:需求获取与初步分析】
  • discuz Upload Failed.
  • 文件.硬盘.IO
  • 智能合约漏洞(三)