ES集群周六的时候因一个节点硬盘故障(新加入的三个节点,硬盘是比较新的产品出现了BUG),运维做了下线处理
按说一个6节点的ES集群,只是下线了一个节点,不应该会有特别大的影响(少了一个节点,分片少了一个写数少1/6左右的时间属于正常范围)
但是出现了线上跑数任务只要跟写ES有关系的时间都翻了好几倍,整个流程慢了9H
图一是正常的情况 图二是异常情况


15m 34s -> 55m 0s ↑ 40min
9m 31s -> 2h 3m 36s ↑ 114min
5m 59s -> 36m 11s ↑ 31min
59m 24s -> 2h 39m 27s ↑ 158min
通过小米监控发现其中某一台的负载比其它的都高

于是XX同事分析是因为之前6台节点时设置的默认分片数为6个
现在只剩5台节点,其中一台节点要被分配两个主分片以及两台节点会被分配到3个分片or副本
于是他把默认默认分片改为5个
但是我认为即便是五个节点有6个分片对于我们这个集群来说也不应该造成这么大的压力
并且除此之外集群的TCP连接数也比较异常
其中旧的三台连接数比正常的时候多了一倍,第五台连接数差不多,第六台连接数少了一半(第五第六台是与下线的那个节点同批加入的相同硬件的机器)
ES集群节点下线导致的TCP连接异常及性能下降问题

当一个6节点的ES集群因一个节点硬盘故障被下线后,线上运行任务时间显著增加。分析发现,尽管集群仍能运行,但由于默认分片数设置不合理,导致部分节点负担加重,TCP连接数异常。调整默认分片数并未解决问题,通过监控和日志排查,最终发现是客户端连接所有配置节点,包括已下线节点,导致长时间重试和连接分配异常。移除下线节点配置后,性能恢复正常。此问题揭示了理解组件工作原理和正确排查方向的重要性。
最低0.47元/天 解锁文章
865

被折叠的 条评论
为什么被折叠?



