Elasticsearch 磁盘空间异常:一次成功的故障排除案例分享

news/2024/11/15 14:27:20/文章来源:https://www.cnblogs.com/infinilabs/p/18354181

故障现象

近日有客户找到我们,说有个 ES 集群节点,磁盘利用率达到了 82% ,而其节点才 63% ,想处理下这个节点,降低节点的磁盘利用率。

起初以为是没有打开自动平衡导致的,经查询,数据还是比较平衡的。

利用率较高的是 76 节点,如果 76 节点的分片比其他节点多,好像还比较合乎逻辑,但它反而比其他节点少了 12-15 个分片。那是 76 节点上的分片比较大?

索引情况


图中都是较大的索引,1 个索引 25TB 左右,共 160 个分片。

分片大小

节点 64

节点 77

节点 75

问题节点 76

可以看出分片大小没有出现较大的倾斜,分片大小和数据平衡的原因都被排除。

换个方向思考,节点 76 比其他节点多使用了磁盘空间 8 个 TB 左右,集群最大分片大小约 140GB ,8000/140=57 ,即节点 76 至少要比其他节点多 57 个分片才行,啊这...

会不会有其他的文件占用了磁盘空间?

我们登录到节点主机,排查是否有其他文件占用了磁盘空间。

结果:客户的数据路径是单独的数据磁盘,并没有其他文件,都是 ES 集群索引占用的空间。

现象总结

分片大小差不多的情况下,节点 76 的分片数还比别的节点还少 10 个左右,它的磁盘空间反而多占用了 8TB 。

这是不是太奇怪了?事出反常必有妖,继续往下查。

原因定位

通过进一步排查,我们发现节点 76 上有一批索引目录,在其他的节点上没有,而且也不在 GET \_cat/indices?v 命令的结果中。说明这些目录都是 dangling 索引占用的。

dangling 索引产生的原因

当 Elasticsearch 节点脱机时,如果删除的索引数量超过 Cluster.indes.tombstones.size,就会发生这种情况。

解决方案

通过命令删除 dangling 索引:

DELETE /\_dangling/<index-uuid>?accept_data_loss=true

最后

这次的分享就到这里了,欢迎与我一起交流 ES 的各种问题和解决方案。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/781496.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

039.Vue3入门,异步加载组件,初始时不全部加载,使用时才加载

1.App.vue代码如下:<template><button @click="change">切换组件</button><p></p><keep-alive><component :is="tabComponent"></component></keep-alive> </template><script> impor…

P1270 “访问”美术馆

题意注意:要预留一秒的时间!!!不然你就 80 pts 分了。 小偷要回到大门。思路 定义 \(f_{i, j}\) 表示到在 \(i\) 的子树内拿 \(j\) 幅画。 那么我们可以枚举 \(f_{to, k}\) 表示在儿子结点拿 \(k\),那么总共为 \(f_{u, j + k} = min(f_{u, j + k}, f_{u, j} + f_{to, k} +…

matlab求解非线性规划

目录前言一、非线性规划的标准型二、fmincon函数1.目标函数--function f = fun(x)2.非线性约束函数--[c,ceq] = nonlfun(x)3.设置求解方法--option三、matlab求解非线性规划的实例与可能遇到的问题1.初值问题2.算法问题(1)内点法求解(2)SQP算法求解(3)active set算法求解…

genieacs安装

linux环境:ubuntu18.041. 安装node.js16.14wget https://nodejs.org/dist/v16.14.2/node-v16.14.2-linux-x64.tar.xz tar -Jxvf node-v16.14.2-linux-x64.tar.xz sudo mv node-v16.14.2-linux-x64/ /opt/ sudo ln -s /opt/node-v16.14.2-linux-x64/bin/node /usr/local/bin/ …

Scanner的进阶使用——基础计算

通过Scanner,可以将我们输入的数字进行计算从而反映出和以及平均数 1.定义两个变量,分别是输入的整数以及总数的和2.建立一个扫描器3.使用while关键字进行循环,在符合条件下(输入的是数字)可以一直进行计算过程4.设置电脑接收数据5.设置我们输入的次数以及数字的总和6.输出…

jUC中的锁

在JUC中 可以使用synchronized关键字进行加锁 如下所示 Object object = new Object(); synchronized (object){ // TODO }synchronized关键字所加的锁是逐步升级的,顺序是 无锁-> 偏向锁 -> 轻量级锁 -> 重量级锁、随着锁等级的提高,所带来的消耗也会越…

Scanner的进阶使用——数字的输入

1.用Scanner输入数字(整数和小数) 1.定义一个整数变量2.建立扫描器3.使用if4.建立电脑接收数据5.设置else(那么)语法6.关闭Scanner

电磁学 数学储备

以新概念物理的附录为主要参考,总结了电磁学的部分数学基础。A 矢量的乘积和对称性 \[\def\ooint{{\bigcirc}\kern-11.5pt{\int}\kern-6.5pt{\int}} \def\oooint{{\bigcirc}\kern-12.3pt{\int}\kern-7pt{\int}\kern-7pt{\int}} \]矢量的标积 设\(\boldsymbol{A}\)和\(\boldsym…

面试题:64匹马,8个赛道,最少跑几次可以找出前四名?

面试题:64匹马,8个赛道,最少跑几次可以找出前四名? 一、常规非最优解法 均分比赛,高度为4的二叉树。次数为8+4+2+1=15 二、最优解综上,最少10次,最多11次。

华为pura70pro+ vs VIVO x100s pro

华为pura70pro+ vs VIVO x100s pro 简介 最近主力机不是很给力,老是发热卡顿,影响我正常的使用,于是有了换手机的想法。作为数码爱好者,有着使不完的折腾劲,我从三千块多的手机研究到了七八千的手机,从红米到小米,从oppo、vivo到华为等等等等研究了个遍。在五花八门的手…

多元/多维高斯/正态分布概率密度函数推导 (Derivation of the Multivariate/Multidimensional Normal/Gaussian Density)

各种维度正态分布公式: 一维正态分布二维正态分布/多维正态分布各向同性正态分布 注:即方差都是一样的,均值不一样,方差的值可以单独用标量表示。 多元/多维高斯/正态分布概率密度函数推导 (Derivation of the Multivariate/Multidimensional Normal/Gaussian Density) 作者…