Elasticsearch: impossible de se connecter à localhost port 9200 - Connexion refusée
Quand j'ai essayé la connexion à Elasticsearch à l'aide de la
curl http://localhost:9200
il fonctionne très bien.
Mais quand je lance le curl http://IpAddress:9200
il est en train de lancer un message d'erreur indiquant
Impossible de se connecter à localhost port 9200: Connexion refusée
Comment résoudre cette erreur?
- Si vous avez déjà mis en réseau.hôte: localhost dans le elasticsearch.fichier yml, alors vous pouvez essayer d'ajouter le protocole http de la requête:
curl -X GET "http://localhost:9200"
Vous devez vous connecter pour publier un commentaire.
Par défaut, il doit se lier à toutes les adresses locales. Donc, en supposant que vous n'avez pas de réseau de couche problème avec les pare-feu, ES le seul paramètre que je peux penser à vérifier est
network.bind_host
et assurez-vous qu'elle n'est pas définie ou est mis à0.0.0.0
ou::0
ou à l'adresse IP de votre réseau.Mise à jour: par commentaires dans ES 2.3 vous devez définir
network.host
à la place.network.bind_host
valeur, laissant unset était mon problème.LISTEN
dans la sortie. Quelque chose commetcp6 0 0 1.1.1.1:9200 :::* LISTEN 12345/java
LISTEN
signifie ES est à l'écoute et prêt à accepter les connexions. Le moyen idéal pour ES vérifier l'état du cluster est bien à l'aide decurl $HOSTNAME:9200
Modifier
/etc/elasticsearch/elasticsearch.yml
et ajoutez la ligne suivante:Cela va "détruire" ce paramètre et autoriser les connexions à partir d'autres IPs.
/Applications/elasticsearch-2.1.1/config/elasticsearch.yml
, et le paramètre j'ai eu à modifier étaitnetwork.host
, pasnetwork.bind_host
.curl http://172.17.0.2:9200
. Vous reconnaîtrez qui est couramment utilisé docker adressage ip.Tout essayé sur cette page, et seulement des instructions de ici aidé.
dans
/etc/default/elasticsearch
, assurez-vous que ce sont des nations unies-a commenté:assurez-vous que
/var/lib/elasticsearch
est détenue par elasticsearch utilisateur:chown -R elasticsearch:elasticsearch /var/lib/elasticsearch/
et de l'onu, a commenté leSTART_DAEMON=true
sudo systemctl restart elasticsearch
comme répondu par @kalanit, a résolu le problèmeDans mon cas, elasticsearch a été lancé.
Mais encore fallait -
La commande suivante a échoué
Afin de le faire fonctionner, j'ai dû courir à la place
Puis il est allé tous bien.
sudo systemctl enable elasticsearch
.systemctl
de travaux et de services n'a pas ?Pourquoi ne pas commencer avec cette ligne de commande:
Je l'ai fait et obtenez:
Puis j'ai édité
/etc/elasticsearch/jvm.options
fichier:Cela a fonctionné comme un charme.
Aucune des solutions proposées ici a fonctionné pour moi, mais ce que finalement obtenu ce travail a été adjonction de
elasticsearch.yml
Après, j'ai redémarré le service, et maintenant je peux
curl
à la fois à l'intérieur de la VM et de l'extérieur. Pour une raison étrange, j'ai dû essayer quelques variantes d'uncurl
appel à l'intérieur de la VM avant il a travaillé:Note: j'utilise Elasticsearch 5.5 sur Ubuntu 14.04
assurez-vous que le serveur est démarré. J'ai vu ce problème lors de ma machine virtuelle avait trop peu de RAM et es n'a pas pu démarrer.
ci-dessus vous montrera si es est en effet en cours d'exécution.
Pour ce problème, j'ai eu à utiliser :
sudo /usr/share/elasticsearch/bin/elasticsearch start
pour être en mesure d'obtenir quelque chose sur les ports 9200/9300 (sudo netstat -ntlp) et une réponse à:
curl -XGET http://localhost:9200
Ouvrir votre Dockerfile sous elasticsearch dossier et mise à jour "du réseau.host=0.0.0.0" avec "du réseau.host=127.0.0.1". Puis redémarrez le conteneur. Vérifiez votre connexion avec curl.
J'ai eu le même problème en refusant les connexions sur le port 9200.
Vérifier elasticsearch l'état de service avec la commande
sudo service elasticsearch status
. Si c'est la présentation d'une erreur et que vous lisez tout ce qui est lié à Java, probablement le problème, c'est votre mémoire jvm. Vous pouvez le modifier dans la/etc/elasticsearch/jvm.options
. Pour un 1 GO de mémoire RAM de la machine sur Amazon environnement, j'ai gardé ma configuration:Après le réglage et le redémarrage d'elasticsearch service, il a travaillé comme un charme. Nmap et UFW (si vous utilisez le pare-feu local) contrôle devrait également être utile.
Modifier
elasticsearch.yml
et ajoutez la ligne suivantenetwork.host: 0.0.0.0
ne fonctionne pas pourJ'ai connu un problème similaire.
Voici comment je l'ai résolu
Exécuter le service de commande ci-dessous pour commencer ElasticSearch
OU
Si vous obtenez toujours l'erreur
Exécuter le service de commande ci-dessous pour vérifier l'état de ElasticSearch
OU
Si vous obtenez une réponse (Actif: actif (en cours)) comme celui-ci, alors vous ElasticSearch est actif et en cours d'exécution
Vous pouvez ensuite tester votre Elasticsearch nœud est en cours d'exécution par l'envoi d'une requête HTTP vers le port 9200 sur localhost l'aide de la commande ci-dessous:
D'autre, si vous obtenez une réponse à une réponse différente, vous pourriez avoir à déboguer encore à résoudre, mais l'exécution de la commande ci-dessous, vous aidera à détecter ce que les mises en garde sont maintenant ElasticSearch service de départ.
OU
Si vous voulez arrêter l' ElasticSearch service, il suffit de lancer le service de commande ci-dessous;
OU
N/B: Vous pouvez exécuter la commande
sudo service elasticsearch status
OUsudo systemctl status elasticsearch
chaque fois que vous rencontrez l'erreur, afin de dire l'état de la ElasticSearch service.Ceci s'applique également pour Kibana, exécutez la commande
sudo service kibana status
OUsudo systemctl status kibana
chaque fois que vous rencontrez l'erreur, afin de dire l'état de la Kibana service.C'est tout.
J'espère que cette aide.
Dans ce cas, tout d'abord, vous devez vérifier la version de java à l'aide de commande ci-dessous:
après l'exécution de cette commande, vous obtenez quelque chose comme ceci:
ensuite, utilisez cette commande:
et sélectionnez ci-dessous la version
Entrée pour conserver la sélection en cours[+], ou la sélection du type de numéro: 2
Mes 2 cents,
J'ai simplement suivi la procédure d'installation sur le Numérique de l'Océan, apparemment le paquet disponible dans le repos n'est pas à jour, j'ai supprimé tout et a suivi la procédure d'installation directe à partir d'Elastic Search et tout fonctionne maintenant, fondamentalement, sortir de la zone de comportement est en localhost pointant vers 9200. Même chose/problème constaté avec Kibana, la solution pour moi a été de trop, pour enlever tout et il suffit de suivre la procédure, l'Espoir qu'il sauve quelqu'un de deux heures (le temps que j'ai passé à essayer de comprendre comment le programme d'installation de WAPITIS!)
fr
Modifier le réseau.lier à 0.0.0.0 et http:port à 9200. La liaison de l'adresse 0.0.0.0 signifie toutes les adresses IPv4 de la machine locale. Si un hôte a deux adresses IP 192.168.1.1 et 10.1.2.1, et un serveur en cours d'exécution sur l'hôte à l'écoute sur 0.0.0.0, il sera accessible à la fois de ces IPs.
Si vous rencontrez le Connexion refusée d'erreur, il suffit de lancer la commande ci-dessous pour vérifier l'état de ElasticSearch service
Ce sera vous aider à décrypter l'état de ElasticSearch service et quoi faire à ce sujet.
Après l'aide de certains des réponses ci-dessus, n'oubliez pas que, après un apt install, un total de redémarrage peut être dans l'ordre.
Juste à ajouter sur ce, je suis tombé sur beaucoup de docs par le biais de google qui dit réseau.l'hôte localhost.
Le faire m'a donné l'infâme connexion refusée. Vous devez utiliser une adresse IP (127.0.0.1), pas un nom de domaine complet.
Jeff
Mise à jour de votre jdk à la dernière version minimale pour votre elasticsearch.
Assurez-vous que le port
9200
est ouvert pour mon cas, c'était une instance amazon donc quand je l'ai ouvert dans mon groupe de sécurité de la commande curl travaillé.Désactiver SELinux a fonctionné pour moi, bien que je ne le conseille pas c' - je l'ai fait juste pour un PoC
Mon problème était que je ne pouvais pas travailler avec
localhost
j'avais besoin de le mettre à localhost l'adresse IP denetwork.bind_host: 127.0.0.1
Dans mon cas, le problème est qu'avec la version java, j'ai installé
open-jdk 11
précédemment. C'est la création de la question pendant le démarrage du service. Je l'ai changéopen-jdk 8
et il a commencé à travailler