前言:GC 时间过长是个常见的问题,下文我将对应的现象和解决方案进行阐述。为什么这么解决,可以参考我的另外一个博客中的内存使用和GC指标这个章节

我们有时会发现elasticsearch集群挂掉,或者有点数据节点脱离集群,这里有可能是GC方面的原因,实质是内存的原因。

一、日志表现

[2017-06-22 23:56:51,008][WARN ][monitor.jvm              ] [data-vm0] [gc][old][5214195][124260] duration [22.4s], collections [1]/[23s], total [22.4s]/[4.2d], memory [13gb]->[13gb]/[13.6gb], all_pools {[young] [21.7mb]->[25.2mb]/[532.5mb]}{[survivor] [0b]->[0b]/[66.5mb]}{[old] [13gb]->[13gb]/[13gb]}
[2017-06-22 23:57:21,419][WARN ][monitor.jvm ] [data-vm0] [gc][old][5214196][124261] duration [29.6s], collections [1]/[30.4s], total [29.6s]/[4.2d], memory [13gb]->[13gb]/[13.6gb], all_pools {[young] [25.2mb]->[32.7mb]/[532.5mb]}{[survivor] [0b]->[0b]/[66.5mb]}{[old] [13gb]->[13gb]/[13gb]}
[2017-06-22 23:57:43,963][WARN ][monitor.jvm ] [data-vm0] [gc][old][5214197][124262] duration [22.3s], collections [1]/[22.5s], total [22.3s]/[4.2d], memory [13gb]->[12.9gb]/[13.6gb], all_pools {[young] [32.7mb]->[19.4mb]/[532.5mb]}{[survivor] [0b]->[0b]/[66.5mb]}{[old] [13gb]->[12.9gb]/[13gb]}
[2017-06-22 23:58:14,390][WARN ][monitor.jvm ] [data-vm0] [gc][old][5214198][124263] duration [30.1s], collections [1]/[30.4s], total [30.1s]/[4.2d], memory [12.9gb]->[13gb]/[13.6gb], all_pools {[young] [19.4mb]->[28.5mb]/[532.5mb]}{[survivor] [0b]->[0b]/[66.5mb]}{[old] [12.9gb]->[13gb]/[13gb]}
[2017-06-22 23:58:37,356][WARN ][monitor.jvm ] [data-vm0] [gc][old][5214199][124264] duration [22.5s], collections [1]/[22.9s], total [22.5s]/[4.2d], memory [13gb]->[13gb]/[13.6gb], all_pools {[young] [28.5mb]->[9.9mb]/[532.5mb]}{[survivor] [0b]->[0b]/[66.5mb]}{[old] [13gb]->[13gb]/[13gb]}
[2017-06-22 23:59:07,774][WARN ][monitor.jvm ] [data-vm0] [gc][old][5214200][124265] duration [29.9s], collections [1]/[30.4s], total [29.9s]/[4.2d], memory [13gb]->[13gb]/[13.6gb], all_pools {[young] [9.9mb]->[1.3mb]/[532.5mb]}{[survivor] [0b]->[0b]/[66.5mb]}{[old] [13gb]->[13gb]/[13gb]}
[2017-06-22 23:59:40,430][WARN ][monitor.jvm ] [data-vm0] [gc][old][5214205][124266] duration [27.6s], collections [1]/[28.6s], total [27.6s]/[4.2d], memory [13.5gb]->[13gb]/[13.6gb], all_pools {[young] [515.7mb]->[73.7mb]/[532.5mb]}{[survivor] [0b]->[0b]/[66.5mb]}{[old] [13gb]->[13gb]/[13gb]}

二、解决办法

出现上述情况的日志,说明节点正在承受内存方面的压力。

1.增加节点的内存,纵向分担压力(%50的RAM 并不大于32G)

2.增加节点数量,横向分担压力

NOTE: 可能有些小伙伴会清理caches来减轻压力。我认为此处清理cache是不管用的,因为下次查询的时候 fielddata 会被reload。

Elasticsearch GC 时间过长的解决方法的更多相关文章

  1. vs调试windows mobile程序时布署时间太长的解决办法

    vs调试windows mobile程序时布署时间太长的解决办法 1.VS平台上,选工具-选项-项目和解决方案-MS BUILD项目生成输出详细信息中选择“诊断”,目的是在调试窗口中看出哪个过程编译的 ...

  2. (转)调用System.gc没有立即执行的解决方法

    调用System.gc没有立即执行的解决方法 查看源码 当我们调用System.gc()的时候,其实并不会马上进行垃圾回收,甚至不一定会执行垃圾回收,查看系统源码可以看到 /** * Indicate ...

  3. VirtualBox虚拟机内的系统时间无法调整的解决方法

    VirtualBox虚拟机内的系统时间无法调整的解决方法   因试用某软件要求将系统时间设置在特定的日期,利用windows自带的调整日期/时间功能进行设置,发现过几秒钟就又恢复到和主机相同的时间了, ...

  4. JVM 调优 —— GC 长时间停顿问题及解决方法

    零. 简介 垃圾收集器长时间停顿,表现在 Web 页面上可能是页面响应码 500 之类的服务器错误问题,如果是个支付过程可能会导致支付失败,将造成公司的直接经济损失,程序员要尽量避免或者说减少此类情况 ...

  5. Nagios状态长时间处于Pending的解决方法

    1 nagios 守护进程引起的一系列问题 1 影响nagios web页面收集监控信息 致使页面出现时而收集不到服务信息 2 影响pnp查看图形化,出图缓慢 3 影响查看服务状态信息,致使有时候查看 ...

  6. idea svn提交时,performing vcs refresh时间很长的解决办法

    解决方法:version control -> local changes -> local changelist 列表中无用的文件或文件夹右键选择svn忽略 ps:原因是文件太多,导致对 ...

  7. svn查看日志(show log)显示时间为1970的解决方法

    问题: 在修改文件后show log无法显示日志,上面的时间会自动在2016年和1970年间跳,而且设置不了时间.解决方法:1.编辑svnserve.conf,设置“anon-access=none” ...

  8. CentOS系统时间与现在时间相差8小时解决方法

    很多网友在安装完CentOS系统后发现时间与现在时间相差8小时,这是由于我们在安装系统的时选择的时区是上海,而CentOS默认bios时间是utc时间,所以时间相差了8小时.这个时候的bios的时间和 ...

  9. 使用elasticsearch遇到的一些问题以及解决方法(不断更新)

    7.org.elasticsearch.transport.RemoteTransportException: Failed to deserialize exception response fro ...

随机推荐

  1. python中和生成器协程相关yield from之最详最强解释,一看就懂(二)

    一. 从列表中yield  语法形式:yield from <可迭代的对象实例> python中的列表是可迭代的, 如果想构造一个生成器逐一产生list中元素,按之前的yield语法,是在 ...

  2. koa2入门(3)mongoose 增删改查

    项目地址:https://github.com/caochangkui/demo/tree/koa-mongoose 连接数据库 数据库名字为:koa-mongoose const mongoose ...

  3. SQL行转列汇总 (转)

    PIVOT 用于将列值旋转为列名(即行转列),在 SQL Server 2000可以用聚合函数配合CASE语句实现 PIVOT 的一般语法是:PIVOT(聚合函数(列) FOR 列 in (…) )A ...

  4. ant+Jacoco 统计tomcat远程部署后项目接口自动化测试或者功能测试代码覆盖率

    1.安装ant 环境,https://ant.apache.org/bindownload.cgi 2.下载jacoco包  https://www.eclemma.org/jacoco/ ,解压后, ...

  5. WordPress更新提示无法创建目录的解决方案

    上一篇我们说到无法连接FTP服务器,我们已经完美的解决了,然后...发现...还是无法更新,啥情况??? 提示为无法创建目录 原因是执行更新程序的是www用户, 解决方案如下: 需要把插件或主程序下载 ...

  6. Crackme006 - 全新160个CrackMe学习系列(图文|视频|注册机源码)

    知乎:逆向驿站 原文链接 CrackMe006 | 难度适中适合练手 |160个CrackMe深度解析(图文+视频+注册机源码) crackme006,依然是delphi的,而且没壳子,条线比较清晰, ...

  7. KETTLE集群搭建

    KETTLE集群搭建 说明: 本文档基于kettle5.4 一.集群的原理与优缺点 1.1集群的原理 Kettle集群是由一个主carte服务器和多个从carte服务器组成的,类似于master-sl ...

  8. M2事后分析

    计划 1. 你原计划的工作是否最后都做完了? 如果有没做完的,为什么? 修复了M1阶段的bug,整合前两组的数据.扩充功能,和学霸组达成功能上的一致,对数据库进行信息的完善. 2. 有没有发现你做了一 ...

  9. Week2 代码复查

    代码复查 http://blog.fogcreek.com/increase-defect-detection-with-our-code-review-checklist-example/ 这篇博客 ...

  10. 数据处理项目Postmortem

    数据处理项目Postmortem 1. 设想和目标 1)目标我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们的项目是学霸系统PipeLine,软件主要解决学霸系 ...