我们有7.2个弹性团簇,其下有结点。6数据节点3主节点2摄取节点
最近,我们在我们的弹性原木中观察到以下误差。默认的限制似乎是[986061209/940.3MB],但实际的使用情况([990145976/944.2MB])不止于此。请让我们知道是否有任何配置将transport_request大小增加到986061209以上。
[2020-02-04T00:37:24,464][DEBUG][O.E.A.A.C.n.I.TransportNodesInfoAction][blp06742225]无法在节点[64OKIQJOQ6WAVWNQGW-LTQ]org.elasticsearch.transport.RemoteTransportException:[blp06742240][10.52.54.95:61025][Cluster:Monitor/Nodes/Info[n]]上执行,原因是:org.elasticsearch.common.breaker.CircuitBreakingException:[parent]数据太大sageReceived(InboundHandler.Java:121)[ElasticSearch-7.2.1.jar:7.2.1]在org.elasticsearch.transport.InboundHandler.InboundMessage(InboundHandler.Java:105)[ElasticSearch-7.2.1.jar:7.2.1]在org.elasticsearch.transport.tcptransport.InboundMessage(tcptransport.Java:660)[ElasticSearch-7.2.1.jar:7.2.1]在eDecoder.java:323)[NettyCodeC.4.1.35.final.jar:4.1.35.final]在io.netty.handler.codeC.bytetomessageDecoder.channelread(BytetomessageDecoder.java:297)[NettyCodeC.4.1.35.final.jar:4.1.35.final]在io.netty.channel.abstractchannelhandlercontext.invokeChannelread(abstractchannelcontext.java:374)eChannelRead(AbstractChannelHandlerContext.java:360)[NettyTransport-4.1.35.final.jar:4.1.35.final]在io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352)[NettyTransport-4.1.35.final.jar:4.1.35.final]在io.netty.channel.DefaultChannelPipeline$HeadContext.ChannelRead(DefaultChannelPipeline.java:1408)L]位于io.netty.channel.nio.nioEventLoop.ProcessSelectedKey(NioEventLoop.java:682)[Netty.channel.nio.nioEventLoop.ProcessSelectedKeysplain(NioEventLoop.java:582)[Netty.transport-4.1.35.final.jar:4.1.35.final]位于
原因是节点的堆已经满了,并且被断路器捕获,这是很好的,因为它防止节点运行到OOM,变旧和崩溃...
Elasticsearch 6.2.0引入了断路器,并在7.0.0中对其进行了改进。
一个节点(64OKIQJOQ6WAVWNQGW-LTQ)
被另一个节点请求对其碎片执行搜索或(批量)索引操作,但由于内存不足而失败。根据此错误消息,这里正是这种情况:
Data too large, data for [] would be [990152526/944.2mb], which is larger than the limit of [986061209/940.3mb], real usage: [990145976/944.2mb], new bytes reserved: [6550/6.3kb]
还要注意StackRace中涉及的类和方法的名称:
org.elasticsearch.common.breaker.ChildMemoryCircuitBreaker.Addes最后通牒BytesandMaybeBreak(ChildMemoryCircuitBreaker.java:128)
如果不能增加堆或减少节点持有的html" target="_blank">数据,则需要扩展集群。
以下是一些背景信息:
https://www.elastic.co/guide/en/elasticsearch/reference/current/circuit-breaker.html
https://www.elastic.co/blog/informing-node-resiliency-with-real-memory-circue-breaker
如果您需要快速解决方案,请尝试使用文档中描述的api提高断路器限值。但请记住,这根本解决不了问题。
我正在尝试对驻留在elastic中的数据执行4个操作。精确匹配(等于),包含,小于,大于。elastic中有两个选项,即query和filter,据我所知,这两个选项的作用相同,但query计算的分数与数据条件值关系最匹配。 我想做的是简单的过滤或查询(我很困惑,他们网站上提到的方式) 精确匹配,如或或 包含类似name Contains或email Contains 大于like
我如何从弹性搜索中获得所有的结果,因为结果只显示限制只有10个。我得到了一个查询,如下所示:
问题内容: 考虑以下示例… …我希望孩子在左右方向上都可以长到或长出父母(因为它水平居中)。 为什么不发生这种情况? 注意: 我对从官方或可靠来源获得的答案感兴趣,理想情况下可以精确地指出任何提及行为和可能的变通方法的错误或说明。 调试信息: 在最新的Chrome(Ubuntu 17.10)中体验到这一点。 尚未测试跨浏览器,将像我一样进行更新。 问题答案: 您需要考虑。如您在这里阅读: flex
在学习ElasticSearch的过程中,我偶然发现并没有得出最终结论。 ElasticSearch的最大碎片大小是多少
我试图从弹性搜索集群中获取数据。索引名称:testIndex类型:testType主机:localhost端口:8080 我想使用弹性搜索5.4版本,使用RestClient,我想使用多重匹配查询获取数据。 示例查询如下所示。 最好的方法是什么?我是否可以使用QueryBuilder构建查询并将其用于rest客户端。
AWS文档明确了以下内容:Java进程限制 Amazon ES将Java进程限制为32 GB的堆大小。高级用户可以指定用于字段数据的堆的百分比。有关更多信息,请参见配置高级选项和JVM OutOfMemoryError。 弹性搜索实例类型的内存跨度最大可达500GB--所以我的问题(作为一个Java/JVM业余爱好者)是ElasticSearch运行了多少个Java进程?我假设一个500GB的El