大年初三,记一次ES集群RED处理过程

2021-02-18 23:31:26 浏览数 (1)

一、前言|

大年初三,客户反馈,自己的业务集群RED了,一直触发集群状态告警,需要紧急处理....

集群状态为红色集群状态为红色

二、问题处理过程:

集群状态为红色,表示集群有主分片未正常运行《包括其未初始化成功、未正常开启服务》通过查看日志,我们可以看到如下截图信息:

同时通过,GET _cluster/allocation/explain API 可以看到分片未分派的原因,大概如下:

大致的错误文本如下:

“/data1/containers/1607327622000737832/es/data/nodes/0/indices/N8EaHtdzR1qVM83PhZbKAA/3/_state/state-1.st.tmp: Read-only file system“ 错误的现象就是随着时间的推移,该节点上对应的未正常服务主分片越来越多,集群状态一直为RED.

”"failed shard on node [xXwnFsNLS4SbxAcBlYe0Fw]: failed to create shard, failure FileSystemException[/data1/containers/1587040431000054832/es/data/nodes/0/indices/TxWNAT6cS9WUXIKuzyZmEA/240/_state/state-1.st.tmp: Read-only file system

三、解决办法

1,找到日志报错信息中节点对应的CVM,并重启该节点,一般节点重启后文件系统就可以读写了,错误信息里报哪个节点有问题就是哪个节点,重启该节点。

2,如重启故障节点还不能解决,那就需要找CVM同学更换ES底层CVM机器

3,在更换故障节点前,ES需要先将该故障磁盘先打个快照

4,CVM同学在数据做备份后,对该故障磁盘文件系统做fsck 修复。

修复故障盘修复故障盘

5,修复完毕,机器重新重启,分片初始化成功,集群GREEN。

6,ES数据盘文件系统只读原因为:

Fstab里面配置了分区挂载后,如果有检测到error,就只读模式挂载,所有后面盘只读也符合预期。

至于前面为什么会出现一个块not found,这个就不太好查了,因为确实坏块数量太小了,就一块。没有其他线索。

正常没有设置自动只读的,一般是不影响的,下次机器重启的时候,开机磁盘自检就可以自动fsck修复这个坏块。

FSTAB设置FSTAB设置

盘只读的原因, 是业务自己机器fstab里面这样配置的,如果发现盘有错误,就只读模式挂载,于是会造成这样的问题。

因此,对于ES服务设置的自动挂载云盘的脚本中的自动挂载参数“”一般没有特别设置这个error配置,按默认的来,就可避免这个参数。

四、总结

本次比较完整的跟进了这个底层CVM磁盘故障导致ES服务不可用的处理过程,特地记录下来,方便后续学习总结。

0 人点赞