Ошибка тайм-аута чтения при использовании пакета python для эластичного поиска - PullRequest
0 голосов
/ 07 мая 2018

Я установил elasticsearch пакет Python и создал эластичный кластер.Я использую приведенный ниже код Python для отправки данных в эластичное облако:

from elasticsearch import Elasticsearch, RequestsHttpConnection
import time
import datetime

es = Elasticsearch(['70.19.172.110:9200'],http_auth=('<username>','<password>'))

for x in range(0,5):
    es.index(index='test', doc_type='json', id=x, body={
    'data1':"Hello World',
    'value':325,
    'time': datetime.datetime.now()

    })

    print("Data sent {} ".format(x))
    time.sleep(60)

Итак, как вы можете видеть в коде, я отправляю данные с интервалом 1 мин time.sleep(60).Это работает отлично, и все 5 данных находятся в эластичном поиске.Затем я изменил time.sleep(60) на time.sleep(300), и это выдало мне ошибку ниже:

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

Есть ли что-то, что я делаю неправильно.Можно ли каким-либо образом поддерживать связь сasticsearch, чтобы я не проходил через эти типы ошибок.

Спасибо.

1 Ответ

0 голосов
/ 07 мая 2018

попытайтесь увеличить время ожидания es.index, потому что Elasticsearch ограничен 10 секундами времени ожидания, если на 30 секунд он не будет отвечать, что означает, что ваш Хост не подключен или не отвечает на запрос

from elasticsearch import Elasticsearch, RequestsHttpConnection
import time
import datetime
timenow = datetime.datetime.now()

es = Elasticsearch(['70.19.172.110:9200'],http_auth=('<username>','<password>'))

for x in range(0,5):
   es.index(index='test', doc_type='json', id=x, body={
   'data1':"Hello World",
   'value':325,
   'time':timenow,
   'timeout':30, # The Time Of timeout you want

    })

print("Data sent {} ".format(x))
time.sleep(60)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...