记录一次elasticsearch-5.6.4宕机排查经历
犯罪现场~~
es: 三节点,配置相同
内存: 248G
CPU: 没注意看
磁盘: 2T
data: 380G左右
indices: 近9800条
在下才疏学浅,目前跟着大佬学习,这个问题还没解决,大佬猜测是indices数量过高,将es打爆了,由于机器是客户的,indices的删减需要客户方的同意,暂时不确定是否是这个原因导致的,后期成功处理恢复es集群后,再来更新(为什么不看日志?因为日志太大了,108G,不知道应该搜索哪些关键字,有大佬知道,望赐教)
下面分享两个遇到的犯罪现场~~~
客户环境,就不贴ip地址出来了,以node1,node2,node3来代替,不过这个也不重要
犯罪现场一:es重新启动后,无法加入老的集群
'开发说kibana异常,无法访问,于是登录es服务,查看es的状态'
# curl 'http://node1:9200/_cat/nodes'
{"error":{"root_cause":[{"type":"master_not_discovered_exception":"reason":null}],"type":"master_not_discovered_exception","reason":null},"status":503}
`_cat/nodes无法查看到es集群的node信息,只好通过ps查找es的进程,最后发现node1的es进程挂了,因为日志太大,所以无法定位问题,于是重新去启动es的进程(./bin/elasticsearch -d -p ./PID)`
'tailf log/cluster-es.log 看到started,并且ps和ss可以查看到es的进程和端口后,再次执行以上的curl,结果发现还是一样的报错'
# curl 'http://node1ip:9200'
# curl 'http://node2ip:9200'
# curl 'http://node3ip:9200'
发现:
node2和node3的"cluster_uuid"一致,但是node1和node2,node3不一致,看来,node2和node3与node1的爱消失了~~~
解决:
在下才疏学浅,没有妙招,只好将三个节点的es全部kill,然后重新$(./bin/elasticsearch -d -p ./PID)启动es三节点
验证:
# curl 'http://node1ip:9200/_cat/nodes'
等待总是让人抓耳挠腮。。。当然,集群查询正常,此时,发现了新的犯罪现场,请看下一回合~~~
犯罪现场二:indices好大
'es集群虽然暂时正常了,由于kibana显示es集群是red,所以,还是要继续破案'
# curl 'http://node1ip:9200/_cat/indices' | grep green | wc -l
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1118k 100 1118k 0 0 261k 0 0:00:04 0:00:04 --:--:-- 274k
# curl 'http://node1ip:9200/_cat/indices' | grep red | wc -l
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1118k 100 1118k 0 0 309k 0 0:00:03 0:00:03 --:--:-- 309k
8124
# curl 'http://node1ip:9200/_cat/indices' | grep yellow | wc -l
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1118k 100 1118k 0 0 250k 0 0:00:04 0:00:04 --:--:-- 343k
1665
'啊这...8124+1665=9789...由于集群刚刚恢复,数据需要同步,第二天再来查看吧~~~'
# one day过去了~~~果然早起的运维吃爆红,node1还活着,node2和node3殉情了~~~
# curl 'http://hostip:9200/_cat/nodes'
{"error":{"root_cause":[{"type":"null_pointer_exception":"reason":null}],"type":"null_pointer_exception","reason":null},"status":500}
通过日志,看到了几个报错,基本上也就是indices在恢复的时候,又暴毙了吧,只有等客户方沟通结束,删除一些indices后,再做破案吧,破案后,再来更新
截取四段日志做参考吧,希望有大佬可以带我飞~~~
1、fatal error on the network layer
2、[node1] failed to connect to master [node2]
3、MasterNotDiscoveredExcption: null
4、[node1] timed out while waiting for initial discovered state - timeout: 30s
--------------------------------更新与2020年12月13日---------------------------------
最终,在客户方同意下,删除了历史indices,只保留最近一个月的数据,indices从9789所见到了2785;
但是在恢复过程中,es又暴毙了一次,发现客户方没有加内存限制,加了内存限制之后,解决了
记录一次elasticsearch-5.6.4宕机排查经历的更多相关文章
- HBase–RegionServer宕机恢复原理
Region Server宕机总述 HBase一个很大的特色是扩展性极其友好,可以通过简单地加机器实现集群规模的线性扩展,而且机器的配置并不需要太好,通过大量廉价机器代替价格昂贵的高性能机器.但也正因 ...
- elasticsearch介绍集群,模拟横向扩展节点、节点宕机、改变分片
出处:[http://www.cnblogs.com/dennisit/p/4133131.html] ,防楼主删博,故保留一份! elasticsearch用于构建高可用和可扩展的系统.扩展 ...
- Elasticsearch宕机问题
个人博客:https://blog.sharedata.info/ Elasticsearch 突然宕机,每次重启都只生成错误日志报错信息:## There is insufficient memor ...
- 记录一次mysql宕机的解决办法
首先先粘贴出来我的错误信息,如下: 2019-07-16T00:53:18.285919Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysq ...
- 【JVM】linux上tomcat中部署的web服务,时好时坏,莫名其妙宕机,报错:There is insufficient memory for the Java Runtime Environment to continue.
=========================================================================================== 环境: linu ...
- Vertica节点宕机处理一例
Vertica节点宕机处理一例: 查询数据库版本和各节点状态 常规方式启动宕机节点失败 进一步查看宕机节点的详细日志 定位问题并解决 1. 查询数据库版本和各节点状态 dbadmin=> sel ...
- 由于某IP大频率提交评论导致服务器宕机
早上突然收到dnspod的宕机通知(好久没收到了,有点手足无措). 服务器在上午10:40时达到85%.uptime显示cpu利用率达到35.不宕才怪. 按照之前的经验,应该是触发一个特别耗CPU的处 ...
- ORA-04031错误导致宕机案例分析
今天遇到一起ORACLE数据库宕机案例,下面是对这起数据库宕机案例的原因进行分析.解读.分析过程中顺便记录一下这个案例的前因后果,攒点经验值,培养一下分析.解决问题的能力. 案例环境: 操作系统 ...
- 双十一来了,别让你的mongodb宕机了
好久没过来吹牛了,前段时间一直赶项目,没有时间来更新博客,项目也终于赶完了,接下来就要面临双十一这场惊心动魄的处女秀考验, 我们项目中会有一个wcf集群,而集群地址则放在mongodb中,所以mong ...
随机推荐
- Python常用功能函数系列总结(一)
本节目录 常用函数一:获取指定文件夹内所有文件 常用函数二:文件合并 常用函数三:将文件按时间划分 常用函数四:数据去重 写在前面 写代码也有很长时间了,总觉得应该做点什么有价值的事情,写代码初始阶段 ...
- 机器学习|线性回归算法详解 (Python 语言描述)
原文地址 ? 传送门 线性回归 线性回归是一种较为简单,但十分重要的机器学习方法.掌握线性的原理及求解方法,是深入了解线性回归的基本要求.除此之外,线性回归也是监督学习回归部分的基石. 线性回归介绍 ...
- [GKCTF2020]EZ三剑客-EzNode&[GYCTF2020]Ez_Express
写在前面 Nodejs基础一点没有做题还是很难下手的,要学的还很多 [GKCTF2020]EZ三剑客-EzNode 知识点 1.settimeout溢出 2.沙盒逃逸 题解 打开题目,看源代码 app ...
- 🏆【Alibaba中间件技术系列】「RocketMQ技术专题」系统服务底层原理以及高性能存储设计分析
设计背景 消息中间件的本身定义来考虑,应该尽量减少对于外部第三方中间件的依赖.一般来说依赖的外部系统越多,也会使得本身的设计越复杂,采用文件系统作为消息存储的方式. RocketMQ存储机制 消息中间 ...
- gorm声明模型
模型定义 模型是标准的结构体,由go的基本数据类型.实现了Scanner和Valuer接口的自定义类型及其指针或别名组成 例如: type User struct { ID uint Name str ...
- gin中如何自定义验证器
package main import ( "github.com/gin-gonic/gin" "github.com/gin-gonic/gin/binding&qu ...
- 腾讯云轻量服务器通过Docker搭建外网可访问连接的redis5.x集群
总结记录/朱季谦 最近买了一台4核16的腾讯云轻量应用服务器,花了我快四百的大洋,打算搭建一堆docker组件集群,最先开始是通过docker搭建redis集群,计划使用三个端口,分别是7001,70 ...
- Typecho博客支持emoji表情设置
介绍 大家在typecho博客写文章时,很多人都喜欢使用emoji表情(比如这些图标)但是typecho的数据库类型默认不支持emoji编码,因为Emoji是一种在Unicode位于u1F601-u1 ...
- javascript 判断对像是否相等
在Javascript中相等运算包括"==","==="全等,两者不同之处,不必多数,本篇文章我们将来讲述如何判断两个对象是否相等? 你可能会认为,如果两个对象 ...
- window-server 服务器解决远程连接
mstsc 连接远程服务器,出现黑屏的情况: 解决方案: 运行 -> 输入gpedit.msc,进入组策略 -> 计算机配置 -> 管理模板 -> Windows组件 -> ...