2016-07-16 103 views
0

我得到尝试使用Elasticsearch API上传JSON文件的错误,但我不断收到此错误:Elasticsearch大批量上传查询

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

你需要增加http.max_content_length值比默认(100MB)更大的事物:https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-http.html

你需要小心使用这些值,而不是增加他们太多。到达节点的批量操作在被分割并被发送到适当的节点进行进一步处理之前将暂时存储在内存缓冲区中的队列中(如果同时存在太多的话)。所以,如果你有太多的并发批量操作,并且这些操作足够大,他们可能会使用大量内存。