首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python CGI的Elasticsearch circuit_breaking_exception问题

Python CGI的Elasticsearch circuit_breaking_exception问题
EN

Stack Overflow用户
提问于 2020-02-08 19:11:59
回答 1查看 425关注 0票数 0

我在Apache服务器中使用一个带有Python3CGI脚本的Elasticsearch实例。web应用程序通常工作得很好,但有时,对于某些查询,我会得到以下Python异常:

代码语言:javascript
复制
TransportError: TransportError(429, 'circuit_breaking_exception', '[parent] Data too large, data for [<http_request>] would be [987816208/942mb], which is larger than the limit of [986932838/941.2mb], real usage: [987816208/942mb], new bytes reserved: [0/0b]')

这并不总是发生在相同的查询中。有时它工作得很好,我得到了结果,有时它失败了。

Python代码:

代码语言:javascript
复制
#!/usr/bin/python3

import cgitb
import cgi
import re
from elasticsearch import Elasticsearch
from datetime import datetime
import json
import io
import sys

def enc_print(string='', encoding='utf8'):
    sys.stdout.buffer.write(string.encode(encoding))

es = Elasticsearch([{'host': 'localhost', 'port': 9200}])

cgitb.enable(display=0, logdir='/home/myname/Desktop/')
form = cgi.FieldStorage() 

if form.getvalue('dictionary') == 'One':
    dictionary = 'one'
elif form.getvalue('dictionary') == 'Two':
    dictionary = 'two'
else:
    dictionary = 'three'

res = es.get(index=dictionary, doc_type='word', id=form.getvalue('id'))

我已经尝试将indices.breaker.fielddata.limit增加到75%,错误发生的频率降低了,但仍然存在。我只有一个副本,文档计数是8061。

我应该增加更多的字段数据限制,还是尝试其他方法更好?

提前谢谢你。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-08 23:06:17

对于elasticsearch来说,1 is的堆大小非常低。尝试增加物理RAM和堆大小。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60126185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档