ES的集群节点发现故障排除指南(2)

news/2024/7/7 6:36:33 标签: elasticsearch, 大数据, 搜索引擎, linux, debug

本文是ES官方文档关于集群节点发现与互联互通的问题排查指南内容,第二部分。

原文参考及相关内容:

英文原文(官网)

第一部分-(1)
在这里插入图片描述

已选出主节点但状态不稳定?

当一个节点赢得主节点选举时,它会在日志中记录一条包含 “elected-as-master” 的消息。如果这种情况重复发生,则说明当选为主节点的节点处于不稳定状态。在这种情况下,应重点关注来自主节点候选节点的日志,以了解为什么选举胜出者停止作为主节点并触发新一轮选举。

排查步骤

如果日志显示主节点由于超时或网络相关问题而不稳定,那么请按照以下方式缩小问题范围进行排查。

垃圾回收暂停

  • 垃圾回收暂停会记录在Elasticsearch默认生成的GC日志中,同时也会通常被JvmMonitorService记录到主节点日志中。利用这些日志可以确认节点是否正在经历高堆内存使用率以及长时间的GC暂停。如果是这样的话,对于高堆内存使用率的排查指南提供了一些进一步调查的建议,但通常情况下,你需要在堆内存高使用率期间捕获堆转储,以便全面理解问题所在。

虚拟机暂停

  • 虚拟机暂停同时也会影响同一主机上的其他进程。虚拟机暂停通常会导致系统时钟出现不连续性,Elasticsearch会在其日志中报告这一现象。如果你看到有证据表明其他进程在同一时间暂停运行,或者出现了意外的时钟不连续,那么应当对运行Elasticsearch的基础架构进行深入调查。

数据包捕获

  • 数据包捕获将揭示系统级和网络级的故障,特别是在所有相关节点同时捕获网络流量时。你应该能够观察到节点间连接中的任何重传、丢包或其他延迟情况。
  • 通过获取Elasticsearch主进程的堆栈转储(例如,使用jstack工具)或执行一段时间内的性能追踪(例如,使用Java Flight Recorder),可以识别出等待特定线程可用时的长时间等待。

节点热点线程API

  • 节点热点线程API有时能提供有用的信息,但需注意该API在集群中的所有节点上都需要一定数量的transport_worker和generic线程。该API可能会受到你正试图诊断的问题的影响。相比之下,jstack更加可靠,因为它不需要任何JVM线程的支持。

参阅网络线程模型

  • 参与发现和集群成员管理的线程主要是transport_worker和cluster_coordination线程,它们不应出现长时间等待的情况。在Elasticsearch日志中,尤其是来自org.elasticsearch.transport.InboundHandler的警告日志中,也可能存在有关线程长时间等待的证据。有关更多信息,请参阅网络线程模型文档。

http://www.niftyadmin.cn/n/5447012.html

相关文章

如何监控企业微信聊天记录内容

假如说老板可以查看到你的微信聊天记录,那么此时此刻的你,会不会瑟瑟发抖? 其实不用啦,监控企业微信聊天记录,也是需要员工个人同意的。 下面我介绍两种方法,看看你属于哪种 方法一 企业微信自带功能 …

React系列 之 React进阶 含源码解读 (一)事件合成、state原理

资料来源:掘金课程 https://juejin.cn/book/6945998773818490884?enter_fromcourse_center&utm_sourcecourse_center 记录一些笔记 事件合成 React的事件其实是React重新实现的一套事件系统。目标是统一管理事件,提供一种跨浏览器一致性的事件处…

Linux--Ubuntu安装【保姆级教程】

Linux操作系统时程序员必须要学的操作系统。接下来我们就来看一下Linux操作系统是如何安装的 我们在 Vmware 虚拟机中安装 linux 系统,所以需要先安装 vmware 软件,然后再 安装 Linux 系统。 一.所需安装文件: Vmware 下载地址(现在最新版的…

11 Games101 - 笔记 - 几何(曲线与曲面)

11 几何(曲线与曲面) 贝塞尔曲线 定义 贝塞尔曲线:由控制点和线段组成的曲线,控制点是可拖动的支点。 如图,蓝色为贝塞尔曲线,p1, p2, p3为控制点,曲线和初始与终止端点相切,并且…

【C++之string类】

C学习笔记---009 C知识string类1、String类1.1、为什么要学习string类?1.2、string的背景介绍1.3、string类的小结 2、标准库中的string类3.1、string类的常用接口说明3.2、string类常用接口的应用13.3、string类常用接口的应用23.4、string类常用接口的应用33.5、s…

C++vector容器详解——深度剖析

一、vector 迭代器失效问题 迭代器是封装了指针,他的底层实现实际上就是原生指针T*,当我们对数据进行增删改时,实际就是迭代器底层的指针指向的原来的位置被销毁了,而指向一个已经释放的空间,肯定导致出错。导致迭代器…

web蓝桥杯2022省赛真题:水果拼盘

代码及注释: /* TODO:待补充代码 */ #pond {display: flex; //flex布局flex-direction: column; //主轴方向从上到下flex-wrap: wrap; //子元素换行 } 知识点: flex弹性布局 父元素:diasplay: flex; flex-d…

宜搭低代码高级认证实操题1 todolist

进行中待办 已完成待办 待办事项 待办事项远程api和变量配置 回调函数 function didFetch(content) {//console.log(content.data);// content.b 1; 修改返回数据结构中的 b 字段为1let res content.data;let todoList [];for(let i in res){todoList.push(res[i]);}consol…