Elasticsearch ReadTimeoutError Read timed out

问题描述:

当往ES批量导入数据时,如果需要index的columns比较多,会出现如下的超时错误。

    success, errors = bulk(self.es, self.set_data())
  File "/home/dxi/PycharmProjects/OEMDB/venv/lib/python3.5/site-packages/elasticsearch/helpers/__init__.py", line 257, in bulk
    for ok, item in streaming_bulk(client, actions, *args, **kwargs):
  File "/home/dxi/PycharmProjects/OEMDB/venv/lib/python3.5/site-packages/elasticsearch/helpers/__init__.py", line 192, in streaming_bulk
    raise_on_error, *args, **kwargs)
  File "/home/dxi/PycharmProjects/OEMDB/venv/lib/python3.5/site-packages/elasticsearch/helpers/__init__.py", line 99, in _process_bulk_chunk
    raise e
  File "/home/dxi/PycharmProjects/OEMDB/venv/lib/python3.5/site-packages/elasticsearch/helpers/__init__.py", line 95, in _process_bulk_chunk
    resp = client.bulk('\n'.join(bulk_actions) + '\n', *args, **kwargs)
  File "/home/dxi/PycharmProjects/OEMDB/venv/lib/python3.5/site-packages/elasticsearch/client/utils.py", line 76, in _wrapped
    return func(*args, params=params, **kwargs)
  File "/home/dxi/PycharmProjects/OEMDB/venv/lib/python3.5/site-packages/elasticsearch/client/__init__.py", line 1155, in bulk
    headers={'content-type': 'application/x-ndjson'})
  File "/home/dxi/PycharmProjects/OEMDB/venv/lib/python3.5/site-packages/elasticsearch/transport.py", line 318, in perform_request
    status, headers_response, data = connection.perform_request(method, url, params, body, headers=headers, ignore=ignore, timeout=timeout)
  File "/home/dxi/PycharmProjects/OEMDB/venv/lib/python3.5/site-packages/elasticsearch/connection/http_urllib3.py", line 180, in perform_request
    raise ConnectionTimeout('TIMEOUT', str(e), e)
elasticsearch.exceptions.ConnectionTimeout: ConnectionTimeout caused by - ReadTimeoutError(HTTPConnectionPool(host='localhost', port=9200): Read timed out. (read timeout=10))

解决方法

在bukl方法中增加 parameter ‘request_timeout’

success, errors = bulk(self.es, self.set_data(), **request_timeout=30**)

参考链接

https://discuss.elastic.co/t/bulk-indexing-raise-read-timeout-error/798
https://discuss.elastic.co/t/es-bulk-insert-time-out/20794/7

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值