Не удалось установить новое соединение: [Errno 111] отказано в соединении(elasticsearch)


Я установил elasticsearch, используя эту команду: pip install elasticsearch После установки я выполнил следующие команды:

>>> from datetime import datetime
>>> from elasticsearch import Elasticsearch
# by default we connect to localhost:9200
>>> es = Elasticsearch()
# create an index in elasticsearch, ignore status code 400 (index already     exists) #but when I run this instruction:
>>> es.indices.create(index='my-index', ignore=400) // HERE IS THE PROBLEM

Я получаю эту ошибку:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "elasticsearch/client/utils.py", line 69, in _wrapped
return func(*args, params=params, **kwargs)
File "elasticsearch/client/indices.py", line 110, in create
params=params, body=body)
File "elasticsearch/transport.py", line 327, in perform_request
status, headers, data = connection.perform_request(method, url, params, body, ignore=ignore, timeout=timeout)
File "elasticsearch/connection/http_urllib3.py", line 105, in perform_request
raise ConnectionError('N/A', str(e), e)
elasticsearch.exceptions.ConnectionError:   ConnectionError(<urllib3.connection.HTTPConnection object at 0x7f847a72ab10>:    Failed to establish a new connection: [Errno 111]     Connection refused) caused by:       NewConnectionError(<urllib3.connection.HTTPConnection object at    0x7f847a72ab10>: Failed to establish a new connection: [Errno 111] Connection    refused)
1   5  

1 ответ:

Вы установили клиент Python, который используется для связи между вашим скриптом Python и существующим кластером Elasticsearch.

Как уже упоминалось в вашем комментарии, в верхней части страницы , которую вы начали читать, написано:

Официальный низкоуровневый клиент для Elasticsearch. Его цель состоит в том, чтобы обеспечить общая основа для всего кода, связанного с Elasticsearch в Python; из-за это он пытается быть свободным от мнений и очень расширяемым.

Вы можете сконфигурируйте клиентский узел(Ы) и порт, на котором работает кластер, подключитесь к нему и выполните команды на этом кластере.

В коде вы настроили клиент на использование параметров по умолчанию, которые предполагают, что кластер работает на localhost с портом elasticsearch по умолчанию 9200.

Вам нужно установить Elasticsearch на машину, настроить ее и запустить, а затем вы сможете подключить свой клиент к кластеру и взаимодействовать с ним.