
# 集群Client节点过载
#### 问题描述
当Elasticsearch/OpenSearch集群的Client节点出现过载时，会导致以下问题：
- Kibana（或Dashboards）、Cerebro管理界面无法访问。
- 集群写入/查询操作时延显著增加。
- 监控显示Client节点出现CPU、内存或JVM使用率过高，部分节点脱离集群。
 
#### 问题原因
- 负载不均衡：请求未均匀分发到所有Client节点。
- 异常流量冲击：恶意IP或异常业务突发大量请求（如爬虫、未限流的写入程序）。
- 任务压力过大：复杂查询需合并大量分片结果，导致CPU瓶颈（常见于未优化的聚合查询）。或者高并发写入导致Client节点处理能力不足。
- JVM资源耗尽：JVM内存持续增长导致GC频繁。
 
#### 解决方法
**场景一：负载不均衡** （部分节点过载）
- 方案1：修改业务侧连接配置，添加全部Client节点IP，实现负载均衡，避免单一节点过载。
- 方案2：使用ELB接入CSS集群，通过负载均衡提高集群的可用性和性能。
 
**场景二：异常流量冲击或任务压力过大**（CPU过载）
- 方案1：禁用异常业务IP或对其进行限流，以减少异常流量对集群的影响。
  1. 定位异常业务IP。 在集群智能运维页面，通过智能诊断，在诊断项"客户端连接检测（来源IP分析）"中查看是否存在异常业务IP。
     
  
  2. 禁止异常IP访问集群或在业务方对异常IP进行限流。 禁用IP的命令参考（仅Elasticsearch 7.6.2、Elasticsearch 7.10.2、OpenSearch 2.19.0和OpenSearch 3.4.0支持该命令）：
     ```
     PUT /_cluster/settings  
     {  
       "persistent": {  
         "flowcontrol.http.enabled": true,  
         "flowcontrol.http.deny": "192.168.1.100,192.168.1.101" // 替换为实际异常业务IP  
       }  
     }
     ```
     
   
- 方案2：当无法禁用业务IP时，可以临时关闭问题索引。
  ![](https://support.huaweicloud.com/trouble-css/public_sys-resources/caution_3.0-zh-cn.png)
  关闭索引会导致索引不可读写，请谨慎操作。
  1. 查找异常占用资源的索引。 执行如下命令，在返回结果中查找"action"为"indices:data/read/search"的记录，确认"running_time"异常的索引。
     ```
     GET _cat/tasks?v&detailed=true
     ```
     返回结果如下所示，索引index_20251210即为异常占用资源的索引。
     ```
     action                         task_id                        parent_task_id                 type      start_time    timestamp running_time ip             node                 description
     cluster:monitor/tasks/lists    16oEhzTLSxOmpOAKcDWiRA:4405923 -                              transport 1765329559256 01:37:39  84micros    192.168.77.164  css-test-ess-esn-3-1 
     indices:data/read/search       GbveasILSxOutqupHepB4Q:1511246 -                              transport 1765329590043 01:19:50  1.7h        192.168.127.133 css-test-ess-client-esn-1-1 indices[index_20251210], types[], search_type[QUERY_THEN_FETCH], source[{"size":10000,"query":{"ids":{"values":["99998-786522498053054743"],"boost":1.0}}}]
     ```
     
  
  2. 临时关闭异常索引。
     ```
     POST /index_20251210/_close
     ```
     
   
- 方案3：扩容Client节点数量或升级Client节点规格。如有使用ELB服务，扩容后需重启ELB服务使节点配置生效。
**场景三：JVM资源耗尽**（JVM过载）
1. 重启无响应的Client节点。
2. 等待5分钟，观察JVM回收情况。
3. 重启后负载仍高，则按CPU过载方案处理（如禁用异常业务IP、限流、扩容）。
 
