Elastische Suche auf dem Server wurde installiert, kann aber nicht von einem anderen Computer aus verbunden werden

8

Kontext

Habe gerade angefangen, elastic search zu benutzen, habe es auf dem Server installiert, kann curl und telnet bis port 9200 auf local machine(server) , kann aber keine Verbindung herstellen, wenn es von einem anderen Rechner kommt.

Ich habe die Firewall sowohl auf dem Server als auch auf dem Client deaktiviert, da Lösungen, die ich aus dem Internet bekommen habe, Vorschläge vorgeschlagen und auch versucht haben, Vorschläge zu finden, die auf dem Link unten gefunden wurden, aber nicht funktionieren konnten.

Ссылка

Frage

Kann jemand mir helfen, wie das funktioniert, danke im Voraus

    
Sserunjogi Richard Nelson 24.12.2015, 08:01
quelle

3 Antworten

13

Da Sie Elasticsearch gerade installiert haben, verwenden Sie vermutlich ES 2.0 oder 2.1. Sie müssen wissen, dass Elasticsearch seit dem Release 2.0 standardmäßig an localhost bindet (als Sicherheitsmaßnahme, um zu verhindern, dass sich Ihr Knoten mit anderen Knoten im Netzwerk verbindet, ohne dass Sie ihn kennen).

Sie müssen also einfach Ihre elasticsearch.yml Konfigurationsdatei bearbeiten und die network.bind_host Einstellung wie folgt ändern:

%Vor%

Dann müssen Sie Ihren Knoten neu starten und von einem Remote-Host aus darauf zugreifen.

    
Val 24.12.2015 08:19
quelle
5

Lassen Sie uns Ihr Szenario neu erstellen. Ich habe frisch installiertes elasticsearch auf meiner Maschine gestartet. Jetzt kann ich Curl auf Port 9200

ausführen %Vor%

Wenn Sie die Listening-TCP-Ports auf Ihrem Server überprüfen, die der Java-Dienst geöffnet hat.

%Vor%

Sie können sehen, dass elasticsearch auf 127.0.0.1 wartet, sodass Sie offensichtlich nicht über das Netzwerk auf Port 9200 zugreifen können. Lassen Sie es mit wget vom Remote-Server überprüfen.

%Vor% Mit

können Sie die elasticsearch-Konfiguration ändern, um das Problem mit dem Befehl unter

zu beheben %Vor%

oder

Öffnen Sie einfach die Elasticsearch-Konfigurationsdatei und suchen Sie nach network.bind_host und nehmen Sie die folgenden Änderungen vor

%Vor%

Starten Sie dann Ihren elasticsearch-Dienst neu

%Vor%

Jetzt können Sie es an allen Schnittstellen abhören.

Lasst uns den wget-Befehl von einem entfernten Rechner ausprobieren

%Vor%     
manishr 25.12.2015 08:12
quelle
1

Für ElasticSearch Version 5 können Sie die Konfigurationsdatei /etc/elasticsearch/elasticsearch.yml bearbeiten und die folgenden Zeilen hinzufügen

%Vor%

Die Cors werden für Plugins wie Head oder HQ auf Remote-Rechnern benötigt, weil sie Ajax XMLHttpRequest Anfragen stellen

Sie können auch network.host: 0 definieren, da es sich um eine Verknüpfung handelt, die bind_host und publish_host

festlegt

Quellen:

Arno 12.09.2017 09:15
quelle

Tags und Links