Elasticsearch大容量上传查询

时间:2016-07-16 02:25:50

标签: json curl elasticsearch

我在尝试使用Elasticsearch api上传json文件时出错,但我一直收到此错误:

 Caught exception while handling client http traffic, closing connection [id: 0x0d08b235, /172.17.0.1:33780 => /172.17.0.2:9200]
org.jboss.netty.handler.codec.frame.TooLongFrameException: HTTP content length exceeded 104857600 bytes.
    at org.jboss.netty.handler.codec.http.HttpChunkAggregator.messageReceived(HttpChunkAggregator.java:169)
    at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
    at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)

有没有办法轻松解决这个问题?

1 个答案:

答案 0 :(得分:1)

您需要将http.max_content_length值增加到大于默认值(100MB)的值:https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-http.html

但是你需要小心这些值而不要过多地增加它们。到达节点的批量操作将被临时保存在内存缓冲区中的队列中(如果它们中有太多它们同时存在),然后再进行拆分并发送到适当的节点进行进一步处理。因此,如果您有太多的并发批量操作,并且这些操作足够大,则可能会占用大量内存。