Erreur de connexion refusée sur Elastic Search

Quand j'ai essayé de me connecter à Elastic Search en utilisant le {[0] } cela fonctionne bien.

Mais quand je lance le {[1] } il lance une erreur en disant connection refused port 9200.

Comment résoudre cette erreur?

61
demandé sur Shashank Agrawal 2015-07-28 16:20:29

17 réponses

Par défaut, il doit se lier à toutes les adresses locales. Donc, en supposant que vous n'avez pas de problème de couche réseau avec les pare-feu, le seul paramètre ES que je peux penser à vérifier est network.bind_host et assurez-vous qu'il n'est pas défini ou qu'il est défini sur 0.0.0.0 ou ::0 ou à l'adresse IP correcte pour votre réseau.

Update: Par commentaires dans ES 2.3, vous devez définir network.host à la place.

60
répondu Andrew White 2016-06-07 02:11:41

Modifier /etc/elasticsearch/elasticsearch.yml et ajoutez la ligne suivante:

network.host: 0.0.0.0

Cela "désélectionnera" ce paramètre et autorisera les connexions à partir d'autres adresses IP.

63
répondu Ramon 2016-06-17 15:13:42

Tout essayé sur cette page, et seules les instructions de ici ont aidé.

Dans /etc/default/elasticsearch, Assurez-vous que ceux-ci ne sont pas commentés:

START_DAEMON=true
ES_USER=elasticsearch
ES_GROUP=elasticsearch
LOG_DIR=/var/log/elasticsearch
DATA_DIR=/var/lib/elasticsearch
WORK_DIR=/tmp/elasticsearch
CONF_DIR=/etc/elasticsearch
CONF_FILE=/etc/elasticsearch/elasticsearch.yml
RESTART_ON_UPGRADE=true

Assurez-vous que /var/lib/elasticsearch appartient à l'utilisateur elasticsearch:

chown -R elasticsearch:elasticsearch /var/lib/elasticsearch/
17
répondu dikirill 2017-04-24 22:58:59

Dans mon cas, elasticsearch a été démarré. Mais avait encore

curl: (7) Failed to connect to localhost port 9200: Connection refused

La commande suivante a échoué

sudo service elasticsearch restart

Pour le faire fonctionner, j'ai dû courir à la place

sudo systemctl restart elasticsearch

Alors tout s'est bien passé.

16
répondu Kalanit 2017-07-07 11:45:57
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) failed; error='Cannot allocate memory' (errno=12)

Assurez-vous que le serveur est démarré. J'ai vu ce problème quand ma machine virtuelle avait trop peu de RAM et es ne pouvait pas démarrer.

sudo systemctl status elasticsearch

Ce qui précède vous montrera si es est en effet en cours d'exécution.

11
répondu Jes Chergui 2016-11-01 15:43:24

Aucune des solutions proposées ici n'a fonctionné pour moi, mais ce qui a finalement fonctionné a été d'ajouter ce qui suit à elasticsearch.yml

network:
  host: 0.0.0.0
http:
  port: 9200

Après cela, j'ai redémarré le service et maintenant je peux le curl à la fois à l'intérieur de la machine virtuelle et à l'extérieur. Pour une raison étrange, j'ai dû essayer quelques variantes différentes d'un appel curl à l'intérieur de la machine virtuelle avant que cela ne fonctionne:

curl localhost:9200
curl http://localhost:9200
curl 127.0.0.1:9200

Remarque: j'utilise Elasticsearch 5.5 sur Ubuntu 14.04

10
répondu Kimberly W 2017-07-13 02:17:19

Pourquoi ne pas commencer avec cette ligne de commande:

$ sudo service elasticsearch status

Je l'ai fait et obtenir:

"There is insufficient memory for the Java Runtime..."

, Puis j'ai édité /etc/elasticsearch/jvm.options fichier:

...

################################################################

# Xms represents the initial size of total heap space
# Xmx represents the maximum size of total heap space

#-Xms2g
#-Xms2g

-Xms512m
-Xmx512m

################################################################

...

Cela a fonctionné comme un charme.

9
répondu Đào Minh Đức 2017-05-14 17:34:13

Pour ce problème, j'ai dû utiliser : sudo /usr/share/elasticsearch/bin/elasticsearch start

Pour pouvoir obtenir quelque chose sur les ports 9200/9300 (sudo netstat-ntlp) et une réponse à:

curl -XGET http://localhost:9200

5
répondu DependencyHell 2017-02-15 16:59:28

J'ai eu le même problème en refusant les connexions sur le port 9200. Vérifiez l'état du service elasticsearch avec la commande sudo service elasticsearch status. S'il présente une erreur et que vous lisez tout ce qui concerne Java, le problème est probablement votre mémoire jvm. Vous pouvez le modifier dans /etc/elasticsearch/jvm.options. Pour une machine de mémoire RAM 1GB sur L'environnement Amazon, j'ai gardé ma configuration sur:

-Xms128m
-Xmx128m

Après avoir réglé cela et redémarré le service elasticsearch, cela a fonctionné comme un charme. La vérification Nmap et UFW (si vous utilisez un pare-feu local) devrait également être utile.

2
répondu jefferson.macedo 2017-03-22 01:11:37

Ouvrez votre Dockerfile sousElasticsearch dossier et mettre à jour "Réseau.hôte = 0.0.0.0" avec " Réseau.hôte=127.0.0.1 " . Puis redémarrez le conteneur. Vérifiez votre connexion avec curl.

$ curl http://docker-machine-ip:9200
{
  "name" : "vI6Zq_D",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "hhyB_Wa4QwSX6zZd1F894Q",
  "version" : {
    "number" : "5.2.0",
    "build_hash" : "24e05b9",
    "build_date" : "2017-01-24T19:52:35.800Z",
    "build_snapshot" : false,
    "lucene_version" : "6.4.0"
  },
  "tagline" : "You Know, for Search"
}
1
répondu javasenior 2017-02-15 08:47:24

Changer le réseau.lier à 0.0.0.0 et http:port à 9200. L'adresse de liaison 0.0.0.0 signifie Toutes les adresses IPv4 sur la machine locale. Si un hôte a deux adresses IP, 192.168.1.1 et 10.1.2.1, et qu'un serveur s'exécutant sur l'hôte écoute la 0.0.0.0, il sera accessible à ces deux adresses IP.

1
répondu Siddu 2018-10-01 10:21:40

Dans ce cas, vous devez d'abord vérifier la version java en utilisant la commande ci-dessous:

java -version

Après avoir exécuté cette commande, vous obtenez quelque chose comme ceci:

Version Java " 1.7.0_51" Environnement d'exécution OpenJDK (rhel-2.4.5.5.el7-x86_64 u51-b31) OpenJDK 64 bits serveur VM (construire 24.51-B03, mode mixte)

Ensuite, utilisez cette commande:

update-alternatives --config java

Et sélectionnez la version ci-dessous

*+ 1 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.51-2.4.5.5.el7.x86_64/jre/bin/java 2 /usr/java/jdk1.8.0_73/jre/bin/java

Entrez pour conserver la sélection actuelle [+], ou tapez numéro de sélection: 2

curl -XGET http://127.0.0.1:9200
0
répondu saurabh cse 2017-01-25 07:49:37

Mes 2 cents,

Je viens de suivre la procédure d'installation sur Digital Ocean, apparemment le paquet disponible dans les repos n'est pas à jour, j'ai tout supprimé et suivi la procédure d'installation directement depuis Elastic Search et tout fonctionne maintenant, fondamentalement le comportement out of the box est sur un localhost pointant vers 9200. Même chose / problème trouvé avec Kibana, la solution pour moi était aussi, pour tout supprimer et juste suivre leur procédure, J'espère que cela sauve quelqu'un deux heures (le le temps que j'ai passé à comprendre comment configurer ELK!)

FR

0
répondu ximbal 2017-05-29 16:44:26

Après avoir utilisé certaines des réponses ci-dessus, n'oubliez pas qu'après une installation apt, un redémarrage total peut être en ordre.

0
répondu Altus 2018-02-09 09:00:49

Juste pour ajouter à cela, je suis tombé sur de nombreux documents via google qui ont dit de définir le réseau.hôte à localhost.

Cela m'a donné la connexion infâme refusée. Vous devez utiliser une adresse IP (127.0.0.1), pas un nom de domaine complet.

Jeff

0
répondu J.F.Gratton 2018-03-25 14:18:09

Mettez à jour votre jdk vers la dernière version minimale pour votre elasticsearch.

0
répondu Zhu Xiaohu 2018-05-07 12:23:36

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

0
répondu Buhiire Keneth 2018-09-14 06:18:50