小小程序猿可笑可笑 2023-04-28 10:30 采纳率: 33.3%
浏览 28
已结题

python链接elaticsearch报错Connection reset by peer,如何解决?

python链接elaticsearch报错Connection reset by peer
信息如下:

elasticsearch.exceptions.ConnectionError: ConnectionError(('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))) caused by: ProtocolError(('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer')))

一下是代码信息:

query = {'query': {'match_all': {}}}
index = 'user_efficiency_detail_page_{}'.format(today.date())
try:
  all_doc = client.search(index=index, body=query)
  es_data = all_doc['hits']['hits']
    if not es_data:
      raise ValueError('无数据!')
    result = es_data[0]['_source']['result']
except Exception:
  result = self.users_efficiency_data_compute()
  create_es = {'result': result}
  client.index(index=index, doc_type='_doc', body=create_es)

报错之后部署在docker中的es就会直接宕机,不知道为什么。求解。万分感谢。

  • 写回答

1条回答 默认 最新

  • Bony- 2023-04-28 12:19
    关注

    以下回答参考GPT并且由妙妙大帅整理:
    个错误通常是由于与Elasticsearch服务器的连接中断引起的。一些可能的原因包括网络问题、服务器资源不足、Elasticsearch进程崩溃等等。

    在您的代码中,当无法从Elasticsearch中检索到数据时,您正在调用users_efficiency_data_compute()方法,并尝试将计算出的结果存储回Elasticsearch。如果此时发生连接错误,会抛出异常,并将计算结果存储回Elasticsearch。这可能会导致无限循环,并在短时间内多次尝试将数据存储到Elasticsearch中,这可能会导致Elasticsearch服务器崩溃。

    为了解决这个问题,您可以尝试以下方法:

    检查Elasticsearch服务器的资源使用情况,特别是内存和CPU使用率,以确保它没有超过其限制。

    尝试使用ping命令测试与Elasticsearch服务器的网络连接,以查看是否存在网络问题。

    尝试在代码中添加适当的异常处理程序来捕获和处理连接错误,例如使用try-except语句并在发生异常时记录错误。

    如果您仍然遇到问题,您可能需要检查Elasticsearch服务器的日志以获取更多信息,并根据需要调整服务器配置。

    希望这些建议可以帮助您解决问题。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 5月20日
  • 已采纳回答 5月12日
  • 创建了问题 4月28日

悬赏问题

  • ¥15 神经网络模型一直不能上GPU
  • ¥15 苍穹外卖拦截器token为null
  • ¥15 pyqt怎么把滑块和输入框相互绑定,求解决!
  • ¥20 wpf datagrid单元闪烁效果失灵
  • ¥15 券商软件上市公司信息获取问题
  • ¥100 ensp启动设备蓝屏,代码clock_watchdog_timeout
  • ¥15 Android studio AVD启动不了
  • ¥15 陆空双模式无人机怎么做
  • ¥15 想咨询点问题,与算法转换,负荷预测,数字孪生有关
  • ¥15 C#中的编译平台的区别影响