记录一次elasticsearch-5.6.4宕机排查经历

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
Elasticsearch Serverless通用抵扣包,测试体验金 200元
简介: 记录一次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又暴毙了一次,发现客户方没有加内存限制,加了内存限制之后,解决了


相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
目录
相关文章
|
监控 安全 API
Elasticsearch实例磁盘占用率高排查及解决
开源 ES 实例健康状态 首先,先介绍下开源 Elasticsearch 的三种健康状态:绿色、黄色和红色。 在分片层面, 绿色:所有的主分片和副本分片都已分配。你的集群是 100% 可用的。 黄色:所有主分片都已经分配,但至少有一个副本分片未被分配。
9067 0
|
存储 自然语言处理 Java
Elasticsearch常见错误及如何排查错误
Elasticsearch常见错误及如何排查错误
802 0
|
存储 监控 安全
最近几个典型 Elasticsearch 线上易出错难排查问题汇集,咱们得避免!
最近几个典型 Elasticsearch 线上易出错难排查问题汇集,咱们得避免!
|
数据库
探究 | Elasticsearch CPU高排查思路
Elasticsearch CPU高排查思路的探究思路。
6104 1
|
运维 Java 程序员
方法 | Elasticsearch Jest 批量操作bug 根因定位排查
本文介绍Elasticsearch Jest 批量操作bug 根因定位排查的方法。
1690 0
方法 | Elasticsearch Jest 批量操作bug 根因定位排查
1、背景 使用Jest进行批量插入数据的时候,偶尔会出现如下的bug One or more of the items in the Bulk request failed, check BulkResult.getItems() for more information. 起初认为是偶发,就把并发数调小,就再没有关注。
|
SQL 安全
实战 | 一步步排查基于业务场景的Elasticsearch难题!
1、题记 我们在实际的业务场景中做Elasticsearch开发时,免不了遇到这样、那样的问题。 《死磕Elasticsearch方法论》中,已经告诉大家相关问题的排查方法。 这一节,我们以具体的示例,解决基于业务场景的Elasticsearch难题的方法?
|
Java 索引
探究 | Elasticsearch CPU高排查思路
一、可能导致ES CPU高的原因: 1、复杂的query查询 举例:我这边出现过200个组合wildcard query导致集群down掉的情况; 2、有大量的reindex操作 3、ES版本较低
|
索引
实战 | 一步步排查基于业务场景的Elasticsearch难题!
我们在实际的业务场景中做Elasticsearch开发时,免不了遇到这样、那样的问题。《死磕Elasticsearch方法论》中,已经告诉大家相关问题的排查方法。这一节,我们以具体的示例,解决基于业务场景的Elasticsearch难题的方法?
230 0
|
4月前
|
JSON 安全 数据可视化
Elasticsearch(es)在Windows系统上的安装与部署(含Kibana)
Kibana 是 Elastic Stack(原 ELK Stack)中的核心数据可视化工具,主要与 Elasticsearch 配合使用,提供强大的数据探索、分析和展示功能。elasticsearch安装在windows上一般是zip文件,解压到对应目录。文件,elasticsearch8.x以上版本是自动开启安全认证的。kibana安装在windows上一般是zip文件,解压到对应目录。elasticsearch的默认端口是9200,访问。默认用户是elastic,密码需要重置。
1943 0