Elasticsearch宕机问题

个人博客:https://blog.sharedata.info/

Elasticsearch 突然宕机,每次重启都只生成错误日志
报错信息:
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 10039525376 bytes for committing reserved memory.
# Possible reasons:
# The system is out of physical RAM or swap space
# In 32 bit mode, the process size limit was hit
# Possible solutions:
# Reduce memory load on the system
# Increase physical memory or swap space
# Check if swap backing store is full
# Use 64 bit Java on a 64 bit OS
# Decrease Java heap size (-Xmx/-Xms)
# Decrease number of Java threads
# Decrease Java thread stack sizes (-Xss)
# Set larger code cache with -XX:ReservedCodeCacheSize=
# This output file may be truncated or incomplete.
#
# Out of Memory Error (os_linux.cpp:2627), pid=6337, tid=0x00007f6e8f0a3700
#
# JRE version: (8.0_111-b14) (build )
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.111-b14 mixed mode linux-amd64 compressed oops)
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#

--------------- T H R E A D ---------------

Current thread (0x00007f6e8800a800): JavaThread "Unknown thread" [_thread_in_vm, id=6339, stack(0x00007f6e8efa3000,0x00007f6e8f0a4000)]

Stack: [0x00007f6e8efa3000,0x00007f6e8f0a4000], sp=0x00007f6e8f0a22d0, free space=1020k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0xac5c2a] VMError::report_and_die()+0x2ba
V [libjvm.so+0x4fc50b] report_vm_out_of_memory(char const*, int, unsigned long, VMErrorType, char const*)+0x8b
V [libjvm.so+0x922ae3] os::Linux::commit_memory_impl(char*, unsigned long, bool)+0x103
V [libjvm.so+0x923039] os::pd_commit_memory(char*, unsigned long, unsigned long, bool)+0x29
V [libjvm.so+0x91d33a] os::commit_memory(char*, unsigned long, unsigned long, bool)+0x2a
V [libjvm.so+0xac1989] VirtualSpace::expand_by(unsigned long, bool)+0x199
V [libjvm.so+0xac24de] VirtualSpace::initialize(ReservedSpace, unsigned long)+0xee
V [libjvm.so+0x5f9e61] CardGeneration::CardGeneration(ReservedSpace, unsigned long, int, GenRemSet*)+0xf1
V [libjvm.so+0x4e5c2e] ConcurrentMarkSweepGeneration::ConcurrentMarkSweepGeneration(ReservedSpace, unsigned long, int, CardTableRS*, bool, FreeBlockDictionary<FreeChunk>::DictionaryChoice)+0x4e
V [libjvm.so+0x5faf22] GenerationSpec::init(ReservedSpace, int, GenRemSet*)+0xf2
V [libjvm.so+0x5e9d5e] GenCollectedHeap::initialize()+0x1de
V [libjvm.so+0xa8dd53] Universe::initialize_heap()+0xf3
V [libjvm.so+0xa8e2be] universe_init()+0x3e
V [libjvm.so+0x63c925] init_globals()+0x65
V [libjvm.so+0xa719be] Threads::create_vm(JavaVMInitArgs*, bool*)+0x23e
V [libjvm.so+0x6d11c4] JNI_CreateJavaVM+0x74
C [libjli.so+0x745e] JavaMain+0x9e
C [libpthread.so.0+0x7aa1] start_thread+0xd1

----------
根据报错信息应该是内存溢出了,排查一下内存状况,发现内存充足,此时es分配给8G的内存
1:上调内存到10G发现还是崩溃,继续排查,然后查看硬盘已经使用了40%
2:物理硬盘内存小而jvm的内存分配过大导致的,调整了jvm的内存大小重新访问可以了,调整内存到4G然后就可以访问了
编辑:jvm.options
-Xms4g
-Xmx4g

时间: 2024-10-03 14:55:39

Elasticsearch宕机问题的相关文章

Redis的KEYS命令引起RDS数据库雪崩,RDS发生两次宕机,造成几百万的资金损失

最近的互联网线上事故发生比较频繁,20180919顺丰发生了一起线上删库事件,在这里就不介绍了. 在这里讲述一下最近发生在我公司的事故,以及如何避免,并且如何处理优化. 间接原因还有很多,技术跟不上业务的发展,由每日百万量到千万级是一个大的跨进,公司对于系统优化的处理优先级不高,技术开发人手的短缺 第一次宕机20180913某个点,公司某服务化项目的RDS实例连接飙升,CPU升到100%,拒绝了其他应用的所有请求服务整个过程如下: 监控报警,显示RDS的CPU使用率达到80%以上,DBA介入,准

VmWare平台Windows Server 2012 无响应宕机

我们生产服务器都部署在VMware ESXi 5.5平台上,最近大半年的时间,偶尔就会出现操作系统为Windows Servre 2012的服务器出现没有任何响应(unresponsive)的情况,出现问题的时候,服务器有下面一些现象: 1: 应用程序无法访问SQL Server数据库,使用Microsoft SQL Server Management Sutdio去测试连接数据库,也会返回连接错误. 2: 网络有时候能Ping通,有时候是Ping不通的情况. 3: 远程连接无法访问服务器,从V

【IT运维监控】集团宕机引发对运维人员的思考 

前不久某大型集团官网和APP突然无法正常使用引发热议,不少人幸灾乐祸,也引发出了各种的谣言和段子,根本难以体会集团内部所受的压力,特别是作为一个大集团内部的运维人员所承受的各种压力和不安. 后 来,原支付宝运维团队负责人针对此事发表了一篇文章,让不少的运维人员深有感触,作为肩负运维监控使命的运维监控工具--PIGOSS BSM 也同样感同身受.面对层出不穷的运维安全隐患,当下运维人员急需一套高效的7*24小时都能担负监控任务的工具,为自身的运维工作减负,告别之前加班熬夜 但没有工作成绩的"怪现像

独立解决数据库宕机问题

1. 发现数据库宕机,(ps -ef | grep smon )首先考虑是不是RAC,是否影响正常的生成环境.确定大概修复时间.    如果是RAC,那么到到另一台数据库上输入操作命令.查找静态参数文件进行启动. 2.在本地宕机的数据库系统中也可以找到静态参数文件.一般情况下的位置是cd $ORACLE_HOME/dbs  找到静态参数文件,(可以参考另一个实例上的实例 ps -ef | grep smon ) 或者cd $ORACLE_HOME/dbs 3.本次数据库宕机原因,可以去alert

Solr4.8.0源码分析(26)之Recovery失败造成的宕机原因分析

最近在公司做SolrCloud的容灾测试,刚好碰到了一个比较蛋疼的问题,跟SolrCloud的Recovery和leader选举有关,正好拿出来分析下. 现象是这样的:比如我有一台3个shard的SolrCloud,每一个shard又有一个leader和replica.由于SolrCloud的leader选举策略,造成了IP1中同时出现了shard1和shard2的leader. 这个时候往collection update数据进去,以shard1为例,数据转发过程,IP1_leader –>

Activemq 宕机解决方案

关于消息服务的集群,大概分为Consumer集群(消费者集群)和Broker集群(消息服务器集群)两种.ActiveMQ提供了一种叫做失效转移(也叫故障转移,FailOver)的策略.失效转移提供了在传输层上重新连接到其他任何传输器的功能.使用它很简单,只需要在uri中配置就行了Failover:(uri1.....n) 如果某个ActiveMQ客户端发现uri1地址失效了,它会立即转向uri地址列表中其他可以连接的消息服务器进行重连,以保证继续正常工作,请注意,并不是uri1失效了就会选则ur

一个参数引起的mysql从库宕机血案

Part1:max_binlog_cache_size max_binlog_cache_size 表示的是binlog 能够使用的最大cache 内存大小 当我们执行多语句事务的时候 所有session的使用的内存超过max_binlog_cache_size的值时 就会报错:"Multi-statement transaction required more than 'max_binlog_cache_size' bytes ofstorage" Part2:为什么它能引起宕机

平时人家说的宕机是什么意思?

对于我这样一个刚踏入互联网圈的新人来说,在跟圈内同事交流的时候,发现他们最近经常在讨论“宕机”这个问题.那么这个宕机到底是什么意思呢? 宕机,多指一些网站.游戏.网络应用等服务器一种区别于正常运行的状态,也叫“Down机”.“当机”或“死机”.宕机状态不仅仅是指服务器“挂掉了”.“死机了”状态,也包括服务器假死.停用.关闭等一些原因而导致出现的不能够正常运行的状态. 说到这,大家可能明白了原来宕机是和服务器有关的一种状态,通常开发和运维人员对宕机这件事最为敏感.服务器一旦宕机会给服务商或者访客造

云宕机

云计算正日益融入我们的生活,可能有时候我们都意识不到自己正在使用云服务.正因为如此云计算宕机的影响才更严重.我想,最近一个月发生的这些宕机事件给我们的启示有三点: 1.云计算不是万灵丹,我们不过是租别人的计算机而已.因此自己数据中心可能出现的问题就算是转向了云计算也依然存在. 2.云计算极大简化了用户对资源的操作,但这有好也有坏.有不知多少人为了你能正常使用操碎了心,但出了问题的时候你作为用户完全什么也做不了. 3.企业有自己的替代方案很重要.可以是另一家云服务提供商,也可以是自己后备的数据中心