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

2024-08-30 12:44

本文主要是介绍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"}
}

这篇关于es重启后调大恢复并发参数,加速分片分配的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1120860

相关文章

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效

电脑死机无反应怎么强制重启? 一文读懂方法及注意事项

《电脑死机无反应怎么强制重启?一文读懂方法及注意事项》在日常使用电脑的过程中,我们难免会遇到电脑无法正常启动的情况,本文将详细介绍几种常见的电脑强制开机方法,并探讨在强制开机后应注意的事项,以及如何... 在日常生活和工作中,我们经常会遇到电脑突然无反应的情况,这时候强制重启就成了解决问题的“救命稻草”。那

SpringMVC获取请求参数的方法

《SpringMVC获取请求参数的方法》:本文主要介绍SpringMVC获取请求参数的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下... 目录1、通过ServletAPI获取2、通过控制器方法的形参获取请求参数3、@RequestParam4、@

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

SpringBoot利用@Validated注解优雅实现参数校验

《SpringBoot利用@Validated注解优雅实现参数校验》在开发Web应用时,用户输入的合法性校验是保障系统稳定性的基础,​SpringBoot的@Validated注解提供了一种更优雅的解... 目录​一、为什么需要参数校验二、Validated 的核心用法​1. 基础校验2. php分组校验3

Redis分片集群的实现

《Redis分片集群的实现》Redis分片集群是一种将Redis数据库分散到多个节点上的方式,以提供更高的性能和可伸缩性,本文主要介绍了Redis分片集群的实现,具有一定的参考价值,感兴趣的可以了解一... 目录1. Redis Cluster的核心概念哈希槽(Hash Slots)主从复制与故障转移2.

Java并发编程必备之Synchronized关键字深入解析

《Java并发编程必备之Synchronized关键字深入解析》本文我们深入探索了Java中的Synchronized关键字,包括其互斥性和可重入性的特性,文章详细介绍了Synchronized的三种... 目录一、前言二、Synchronized关键字2.1 Synchronized的特性1. 互斥2.

使用Python实现网络设备配置备份与恢复

《使用Python实现网络设备配置备份与恢复》网络设备配置备份与恢复在网络安全管理中起着至关重要的作用,本文为大家介绍了如何通过Python实现网络设备配置备份与恢复,需要的可以参考下... 目录一、网络设备配置备份与恢复的概念与重要性二、网络设备配置备份与恢复的分类三、python网络设备配置备份与恢复实

一文带你了解SpringBoot中启动参数的各种用法

《一文带你了解SpringBoot中启动参数的各种用法》在使用SpringBoot开发应用时,我们通常需要根据不同的环境或特定需求调整启动参数,那么,SpringBoot提供了哪些方式来配置这些启动参... 目录一、启动参数的常见传递方式二、通过命令行参数传递启动参数三、使用 application.pro

Python异步编程中asyncio.gather的并发控制详解

《Python异步编程中asyncio.gather的并发控制详解》在Python异步编程生态中,asyncio.gather是并发任务调度的核心工具,本文将通过实际场景和代码示例,展示如何结合信号量... 目录一、asyncio.gather的原始行为解析二、信号量控制法:给并发装上"节流阀"三、进阶控制