관리 메뉴

솜씨좋은장씨

[Elasticsearch] ConnectionTimeout caused by - ReadTimeoutError (feat. bulk API + python) 본문

Programming/Elasticsearch

[Elasticsearch] ConnectionTimeout caused by - ReadTimeoutError (feat. bulk API + python)

솜씨좋은장씨 2020. 5. 8. 15:51
728x90
반응형

Python과 bulk API를 활용하여 인덱싱을 하던 중 

elasticsearch.exceptions.ConnectionTimeout: 
ConnectionTimeout caused by - ReadTimeoutError(HTTPConnectionPool(host='localhost', port=9200): 
Read timed out. (read timeout=10))

위와 같은 오류가 나면서 중간에 멈추는 현상이 계속 생겨 14만건의 데이터를 인덱싱하여야하지만 

계속 3만건에서 멈추는 현상이 있었습니다.

 

이 문제는 연결 시간을 초과했을때 발생한다고 합니다.

 

해당하는 변수값은 

es_client = ElasticSearch("http://localhost:9200")

Elasticsearch를 연결하는 위의 코드에서

es_client = Elasticsearch("http://localhost:9200", timeout=30, max_retries=10, retry_on_timeout=True)

timeout, max_retries, retry_on_timeout을 각각 설정해주면 됩니다.

 

그럼 이상없이 실행되는 것을 확인해볼 수 있습니다!

 

읽어주셔서 감사합니다.

Comments