web-dev-qa-db-fra.com

Impossible d'établir une nouvelle connexion: [Errno 111] Connexion refusée (elasticsearch)

J'ai installé elasticsearch à l'aide de cette commande: pip install elasticsearch Après l'installation, j'ai exécuté les commandes suivantes:

>>> 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

Je reçois cette erreur:

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)
9
Waheeb Al-Abyadh

Ce que vous avez installé est un client Python qui est utilisé pour la communication entre votre script Python et le cluster Elasticsearch existant).

Comme mentionné dans votre commentaire, en haut de la page vous avez commencé à lire, il est dit:

Client de bas niveau officiel pour Elasticsearch. Son objectif est de fournir un terrain d'entente pour tout le code lié à Elasticsearch en Python; pour cette raison, il essaie d'être sans opinion et très extensible.

Vous pouvez configurer le client sur le ou les hôtes et le port sur lesquels le cluster s'exécute, vous y connecter et exécuter des commandes sur ce cluster.

Dans votre code, vous avez configuré le client pour utiliser les paramètres par défaut qui supposent que le cluster s'exécute sur localhost avec le port elasticsearch par défaut 9200.

Vous devez Installer Elasticsearch sur une machine , le configurer et l'exécuter, puis vous pourrez connecter votre client au cluster et communiquer avec lui.

4
Avihoo Mamka