I'm having huge problems getting my 3 node ES setup to stay up for more than an hour. Nothing has changed leading up to this although I was seeing issues about JVM running out of heap space. I've upgraded successfully from 6.0.0 to 6.2.1.
The problem persists. My logs are full of many instances of:
[2018-02-12T16:19:03,414][WARN ][o.e.m.j.JvmGcMonitorService] [es-server-01] [gc][585] overhead, spent [10.5s] collecting in the last [10.7s]
and the services across all 3 ES nodes fail. I've tried to fix this for the last week or so but am getting nowhere.
Log header
[2018-02-12T16:07:03,701][INFO ][o.e.n.Node ] [es-server1] initializing ...
[2018-02-12T16:07:03,873][INFO ][o.e.e.NodeEnvironment ] [es-server1] using [1] data paths, mounts [[DATA (D:)]], net usable_space [79.5gb], net total_space [99.9gb], types [NTFS]
[2018-02-12T16:07:03,873][INFO ][o.e.e.NodeEnvironment ] [es-server1] heap size [3.9gb], compressed ordinary object pointers [true]
[2018-02-12T16:07:15,757][INFO ][o.e.n.Node ] [es-server1] node name [gs05-srv227], node ID [2HovUhtrTPqSt13ZPP8w4w]
[2018-02-12T16:07:15,757][INFO ][o.e.n.Node ] [es-server1] version[6.2.1], pid[692], build[7299dc3/2018-02-07T19:34:26.990113Z], OS[Windows Server 2012 R2/6.3/amd64], JVM[Oracle Corporation/Java HotSpot(TM) 64-Bit Server VM/1.8.0_144/25.144-b01]
[2018-02-12T16:07:15,757][INFO ][o.e.n.Node ] [es-server1] JVM arguments [-Xms4g, -Xmx4g, -XX:+UseConcMarkSweepGC, -XX:CMSInitiatingOccupancyFraction=75, -XX:+UseCMSInitiatingOccupancyOnly, -XX:+AlwaysPreTouch, -Xss1m, -Djava.awt.headless=true, -Dfile.encoding=UTF-8, -Djna.nosys=true, -XX:-OmitStackTraceInFastThrow, -Dio.netty.noUnsafe=true, -Dio.netty.noKeySetOptimization=true, -Dio.netty.recycler.maxCapacityPerThread=0, -Dlog4j.shutdownHookEnabled=false, -Dlog4j2.disable.jmx=true, -Djava.io.tmpdir=C:\Temp\elasticsearch, -XX:+HeapDumpOnOutOfMemoryError, -XX:+PrintGCDetails, -XX:+PrintGCDateStamps, -XX:+PrintTenuringDistribution, -XX:+PrintGCApplicationStoppedTime, -Xloggc:logs/gc.log, -XX:+UseGCLogFileRotation, -XX:NumberOfGCLogFiles=32, -XX:GCLogFileSize=64m, -Delasticsearch, -Des.path.home=c:\elasticsearch, -Des.path.conf=c:\elasticsearch\config, exit, -Xms4098m, -Xmx4098m, -Xss1024k]
Steps I've taken
-
I've set it in the Environment variable as: ES_HEAP_SIZE with a value of 4g before installing the service
-
After installation of the service, used the service manager to set the Java options to:
-Xms4g
-Xmx4g
-XX:+UseConcMarkSweepGC
-XX:CMSInitiatingOccupancyFraction=75
-XX:+UseCMSInitiatingOccupancyOnly
-XX:+AlwaysPreTouch
-Xss1m
-Djava.awt.headless=true
-Dfile.encoding=UTF-8
-Djna.nosys=true
-XX:-OmitStackTraceInFastThrow
-Dio.netty.noUnsafe=true
-Dio.netty.noKeySetOptimization=true
-Dio.netty.recycler.maxCapacityPerThread=0
-Dlog4j.shutdownHookEnabled=false
-Dlog4j2.disable.jmx=true
-Djava.io.tmpdir=C:\Temp\elasticsearch
-XX:+HeapDumpOnOutOfMemoryError
-XX:+PrintGCDetails
-XX:+PrintGCDateStamps
-XX:+PrintTenuringDistribution
-XX:+PrintGCApplicationStoppedTime
-Xloggc:logs/gc.log
-XX:+UseGCLogFileRotation
-XX:NumberOfGCLogFiles=32
-XX:GCLogFileSize=64m
-Delasticsearch
-Des.path.home=c:\elasticsearch
-Des.path.conf=c:\elasticsearch\config -
Set Initial memory pool is: 4098, Maximum memory pool is: 4098. Thread stack size: 1024
-
Set the config.yml to contain: bootstrap.memory_lock: true
Server specifics
Windows 2012 R2
8GB RAM
ES V 6.2.1
LS: 6.2.1
KB: 6.2.1
Any suggestions welcome!