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
J'obtiens 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)
Ne
il est installé à l'aide de: pip install elasticsearch pour s'exécuter comme une bibliothèque python
Non, ce que vous avez installée n'est qu'un python au client de communiquer à un cluster existant, qui est par défaut suppose s'exécute sur
En fait j'ai juste commencé à apprendre à utiliser elasticsearch ... j'ai utilisé ce code comme un point de départ: pypi.python.org/pypi/elasticsearch/2.4.0#downloads
Regardez la réponse officielle.
elasticsearch
s'exécute localement sur votre machine?il est installé à l'aide de: pip install elasticsearch pour s'exécuter comme une bibliothèque python
Non, ce que vous avez installée n'est qu'un python au client de communiquer à un cluster existant, qui est par défaut suppose s'exécute sur
localhost:9200
.En fait j'ai juste commencé à apprendre à utiliser elasticsearch ... j'ai utilisé ce code comme un point de départ: pypi.python.org/pypi/elasticsearch/2.4.0#downloads
Regardez la réponse officielle.
OriginalL'auteur Waheeb Al-Abyadh | 2016-09-12
Vous devez vous connecter pour publier un commentaire.
Ce que vous avez installé est un client Python qui est utilisé pour la communication entre votre script Python et existant cluster Elasticsearch.
Comme mentionné à partir de votre commentaire, en haut de la page vous commencé à lire, il est dit:
Vous pouvez configurer le client de l'hôte(s) et le port qui le cluster est en cours d'exécution, et à s'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, ce qui suppose que le cluster est en cours d'exécution sur
localhost
avec la valeur par défaut elasticsearch port9200
.Vous devez Installer Elasticsearch sur une machine, de le configurer et de l'exécuter, et alors vous serez capable de vous connecter avec votre client pour le cluster et de communiquer avec lui.
OriginalL'auteur Avihoo Mamka