2016-04-14 5 views
0

Meine Schienenanwendung wird mit vier ec2-Instanzen ausgeführt. Wenn ein Benutzer eine Rails-Anwendung unter Verwendung einer URL verwendet, wird die Rails-Anwendung dem Benutzer unter Verwendung einer von vier ec2-Instanzen, die ELB verwenden, bereitgestellt.Verwenden Sie einen ElasticSearch-Server der Schienenanwendung in einer anderen Schienenanwendung.

Der Elasticsearch-Server ist auf einem der Rails-Server installiert. Wie kann ich denselben ElasticSearch-Server verwenden, der auf einem Server für den Rest von drei Rails-Servern auch für die Suche installiert ist?

Antwort

1

Ich verwende die interne (10.x.x.x) Adresse für die Verbindung mit elasticsearch.

Elasticsearch::Model.client = Elasticsearch::Client.new(host:'10.x.x.x',port:9200)

Solange Sie Ihre eingehenden Regeln richtig einstellen können Sie Ihre Elasticsearch Instanz von jeder EC2-Host verbinden.

Stellen Sie sicher, dass elasticsearch auf 10.x.x.x und nicht nur auf 127.0.0.1 hört.

setzen network.host: _site_ in elasticsearch.yml

+0

Ja, ich habe bereits geöffnet 9200 Port in etwa auf dem Server Elasticsearch läuft, aber wo ich ips der übrigen drei Fällen so die können ES-Server zugreifen müssen? Und wie man öffentliche IP des Servers anstelle von localhost einstellt? – rick

+0

Benutzt du einen Edelstein für Elasticsearch in Schienen, welchen? Und nach elasticsearch docs "Elasticsearch, bindet sich standardmäßig an die 0.0.0.0 Adresse" – Chris

+0

Lassen Sie mich alles erklären. Ich habe einen Server (54.34.22.1) auf dem ES Server installiert ist. Ich habe ssh hinein und wenn ich 'curl' http: // localhost: 9200 /? Schön ', es zeigt mir {..... (irgendein Text)}. Es bedeutet, ES-Server funktioniert. Ich bin in der Lage, in meiner Schiene Anwendung zu suchen, die auf (54.34.22.1) Server läuft. Ich habe andere 3 Server von Schienenanwendung mit ips (54.34.22.2,54.34.22.3 und 54.34.22.4). Nun, was ich tun sollte, dass der Rest von drei Server kann ES-Server von (54.34.22.1), auf dem ES installiert? Vielen Dank. (Ja, ich benutze elasticsearch Juwel) – rick

Verwandte Themen