elasticsearch-py 解决 too_long_frame_exception 问题

elasticsearch-py 解决 too_long_frame_exception 问题

老大让我搞一搞数据统计,配环境时遇到个奇葩错误,记录一下,希望能帮助到某些人。

我需要安装 ElasticSearch-Py 库,根据官网文档,不同的服务器版本配不同的Python库版本。公司的ElasticSearch服务版本号是 0.6.0,本着用新不用旧的原则,就安装了6.x的最新版本0.6.4的python模块。

# Elasticsearch 6.x
elasticsearch>=6.0.0,<7.0.0
# Elasticsearch 5.x
elasticsearch>=5.0.0,<6.0.0
# Elasticsearch 2.x
elasticsearch>=2.0.0,<3.0.0

我在使用 scan 命令时出现了如下错误:

elasticsearch.exceptions.RequestError: RequestError(400, 'too_long_frame_exception', 'An HTTP line is larger than 4096 bytes.')

Google搜了一圈,都是说需要调整elasticsearch服务器配置,即在/etc/elasticsearch/elasticsearch.yml修改配置然后重启服务:

http.max_content_length: 500mb

可是我没有操作这个服务器的权限,线上服务器也不能说让我重启瞎搞。
我试着把 elasticsearch-py 版本从 6.4.0 降级到 6.3.1 问题就解决了。

pip uninstall elasticsearch
pip install elasticsearch==6.3.1

蜜汁Bug,浪费我好几个小时。

posted @ 2019-06-13 14:43  OhMyGakki  阅读(2118)  评论(0编辑  收藏  举报