ES单节点 172.21.43.142 ES集群磁盘使用率不均衡问题分析

127 阅读2分钟

  1. 背景

有一套es,12个data节点,分片数量平衡,但是磁盘大小使用率不均衡。

ES集群 kibana地址

http://172.21.43.108:5601/app/monitoring#/elasticsearch/nodes?_g=(cluster_uuid:MUsAQ5AESbmmd9pS5N7pXg)

如下:

172.21.43.106、172.21.43.142 两个节点明显超过其他节点磁盘占用率近10%




  1. 分析

集群整体上有12个数据节点,591个索引(包括以. 开头的内置索引如.monitoring-es-6-2024.12.27、.kibana 等),6286个分片。

分析如下:

分片数
172.21.43.101524
172.21.43.102523
172.21.43.103524
172.21.43.104524
172.21.43.105523
172.21.43.106524
172.21.43.107524
172.21.43.108524
172.21.43.109524
172.21.43.142524
172.21.43.143524
172.21.43.144524
  1. 分析分片数等于节点数的索引数据

经过分析发现,索引如果设置为12个分片,同一索引的各分片数据基本无差异(有些小数据量的分片有kb级别的的差异,忽略不计)

  1. 分析分片数小于节点数的索引数据(普通索引)

其中有274个索引设置的分片数小于12(node节点数),可能导致数据在不同node节点分布不均。

如下为索引分片数小于node节点数的索引截图:

如下为上图索引数据在各节点node上的分布统计截图:

分析这些分片数小于12的索引数据分布情况,可以发现 172.21.43.106 节点的数据量最大,可以断定因为索引设置分片数小于12,导致数据分布未均匀分布在12个node上, 172.21.43.106 节点的磁盘占用比其他节点大。

  1. 分析内部索引(以索引名. 开头的索引)

共21个索引,42个分片,截图如下:

分析这些内部索引数据分布情况,可以发现 172.21.43.142 节点的数据量最大,可以断定因为内部索引因为分片数未达到12,数据未均匀分布,导致 172.21.43.142 节点的磁盘占用比其他节点大。

内部索引的分片和数据量大小如下(数据量单位 MB):

43.10143.10243.10343.10443.10543.10643.10743.10843.10943.14243.14343.144
.monitoring-kibana-6-2025.01.030.2460.246
.reporting-2022.02.270.0190.019
.monitoring-es-6-2024.12.303993.63993.6
.monitoring-kibana-6-2024.12.272.22.2
.monitoring-es-6-2025.01.03431.2517.7
.reporting-2024.01.282.62.6
.monitoring-kibana-6-2024.12.292.02.0
.monitoring-es-6-2025.01.0240964096
.monitoring-es-6-2025.01.013993.63993.6
.monitoring-kibana-6-2024.12.282.02.0
.monitoring-es-6-2024.12.313993.63993.6
.monitoring-es-6-2024.12.273891.23891.2
.monitoring-kibana-6-2024.12.302.12.1
.reporting-2024.06.022.72.7
.monitoring-kibana-6-2024.12.312.02.0
.kibana0.0780.078
.monitoring-es-6-2024.12.293891.23891.2
.reporting-2024.01.145.35.3
.monitoring-es-6-2024.12.283891.23891.2
.monitoring-kibana-6-2025.01.012.02.0
.monitoring-kibana-6-2025.01.022.22.2
  1. 总结

分片数小于12节点的索引导致 172.21.43.106、172.21.43.103、172.21.43.142 节点数据量比其他节点大。

内部索引导致 172.21.43.142、172.21.43.105 节点数据量比其他节点大。

综合之下:

172.21.43.106、172.21.43.142 两个节点的数据量比其他节点大。




  1. 建议

  1. 内部索引因为分片数比较少,未达到数据在各节点node上的均匀分布(数理学上的样本数比较少导致未均匀分布,属于正常现象)。并且不建议修改内部索引,暂时维持现状。
  2. 业务上使用的普通索引,建议设置分片数=节点node数,这样可以保证数据在各节点node上的均匀分布。