elasticsearch,garbage-collection,jvm,Java,elasticsearch,Garbage Collection,Jvm" /> elasticsearch,garbage-collection,jvm,Java,elasticsearch,Garbage Collection,Jvm" />

Java 如何为elasticsearch的数据节点在客户端节点上设置超时?

Java 如何为elasticsearch的数据节点在客户端节点上设置超时?,java,elasticsearch,garbage-collection,jvm,Java,elasticsearch,Garbage Collection,Jvm,所以我有一个客户端节点和两个节点,它们都是主节点和数据节点 数据节点有32GB RAM,其中16GB分配给堆用于elasticsearch 对于GC阶段预期的大多数数据,服务器都能完美运行。服务器停止响应。我尝试了不同的配置,但无法缩短GC时间 现在的问题是,即使一个节点上有GC,整个集群也会死亡。 是否有一种方法可以设置ES客户端上ES数据节点的超时 因此,当GC在该节点上发生时,它将超时,ES客户端将返回从其中一个节点收集的结果,而不是等待从两个节点返回完整的数据 有没有办法做到这一点 如果

所以我有一个客户端节点和两个节点,它们都是主节点和数据节点

数据节点有32GB RAM,其中16GB分配给堆用于elasticsearch

对于GC阶段预期的大多数数据,服务器都能完美运行。服务器停止响应。我尝试了不同的配置,但无法缩短GC时间

现在的问题是,即使一个节点上有GC,整个集群也会死亡。 是否有一种方法可以设置ES客户端上ES数据节点的超时

因此,当GC在该节点上发生时,它将超时,ES客户端将返回从其中一个节点收集的结果,而不是等待从两个节点返回完整的数据

有没有办法做到这一点

如果有人需要,我也可以共享elasticsearch和elasticsearch.yaml文件的JVM设置

GC的日志: [2016-01-28 12:36:27200][WARN][monitor.jvm][Main-Server-M2XLarge-2][gc][old][91418][327]持续时间[11.1s],集合[1]/[11.6s],总[11.1s]/[24.6m],内存[6gb]>[4.7gb]/[15.5gb],所有池{[young][411.7mb 14.4mb/[532.5mb]}{[survivor][38.1mb]/[6gb]>[0b]/[66.5mb]/[5.5gb]/[5gb]}

[2016-01-28 12:38:06227][WARN][monitor.jvm][Main-Server-M2XLarge-2][gc][old][91506][328]持续时间[10.8s],集合[1]/[11.7s],总[10.8s]/[24.8m],内存[5.8gb]->[4.8gb]/[15.5gb],所有_池{[young][346mb 1.1mb]/[532.5mb]}{[1.1mb]/[46.6mb]/[0b]/[66.5mb]>[4.4gb]/[14.9gb]}

[2016-01-28 12:38:16819][WARN][monitor.jvm][Main-Server-M2XLarge-2][gc][old][91507][329]持续时间[10s],集合[1]/[10.5s],总计[10s]/[24.9m],内存[4.8gb]->[4.8gb]/[15.5gb],所有池[young][1.1mb]>[479kb/[532.5mb]}{[survivor][0b]>[0b]/[66.5mb]/[4.8gb]/[4.8gb]/[14.8gb]}


[2016-01-28 12:38:36551][INFO][monitor.jvm][Main-Server-M2XLarge-2][gc][old][91508][331]持续时间[19.6s],集合[2]/[19.7s],总[19.6s]/[25.3m],内存[4.8gb]->[4.5gb]/[15.5gb],所有_池{[young][479kb]>[33.6mb]/[532.5mb]}{[survivor][0b]/[66.5mb]/[4.4gb]}[4.4gb]/[4.4gb]}

Elasticsearch建议不要调整GC:。你把它改成世界收藏家站了吗?并发标记扫描应该有最小的暂停。另外,我认为你的意思是16GB,而不是16B?不,我没有更改GC。更改了一些其他设置,如幸存者大小、年轻池大小。CMS确实有很长的暂停时间,这就是为什么人们转向G1GC来避免它。是的,当GC发生时,该节点上没有任何工作(ping响应、查询响应等)。查看tunning GC并不是一个好办法。我认为ES中没有超时机制。建议是看看为什么GC需要花费太多的时间。说到老GC需要多少时间?目前大约需要1分钟。无法附加日志。更新问题。