2013-04-03 20 views
5

Ich versuche ElasticSearch für eine Anwendung, die ich baue, und ich hosste es auf Rackspace Server. Die Funktion auto-discovery funktioniert jedoch nicht. Ich dachte, dass es war, weil auto-discovery Broadcast und Multicast verwendet, um die anderen Knoten mit dem übereinstimmenden Clusternamen zu finden. Ich habe diese article gefunden und gesagt, dass Rackspace jetzt Multicast und Broadcast mit ihrer neuen Cloud Networks-Funktion unterstützt. Dann habe ich gemäß den Anweisungen des Artikels ein Netzwerk erstellt und dieses Netzwerk zu beiden Servern hinzugefügt, auf denen die Knoten ausgeführt wurden. Ich habe dann versucht ElasticSearch auf beiden Knoten neu zu starten, aber sie haben nicht zueinander finden, und jeder erklärte sich als „Master“ (hier ist der Ausgang aus den Protokollen):elasticsearch auto-discovery rackspace funktioniert nicht

[2013-04-03 22:14:03,516][INFO ][node      ] [Nemesis] {0.20.6}[2752]: initializing ... 
[2013-04-03 22:14:03,530][INFO ][plugins     ] [Nemesis] loaded [], sites [] 
[2013-04-03 22:14:07,873][INFO ][node      ] [Nemesis] {0.20.6}[2752]: initialized 
[2013-04-03 22:14:07,873][INFO ][node      ] [Nemesis] {0.20.6}[2752]: starting ... 
[2013-04-03 22:14:08,052][INFO ][transport    ] [Nemesis] bound_address {inet[/0:0:0:0:0:0:0:0:9300]}, publish_address {inet[/166.78.177.149:9300]} 
[2013-04-03 22:14:11,117][INFO ][cluster.service   ] [Nemesis] new_master [Nemesis][3ih_VZsNQem5W4csDk-Ntg][inet[/166.78.177.149:9300]], reason: zen-disco-join (elected_as_master) 
[2013-04-03 22:14:11,168][INFO ][discovery    ] [Nemesis] elasticsearch/3ih_VZsNQem5W4csDk-Ntg 
[2013-04-03 22:14:11,202][INFO ][http      ] [Nemesis] bound_address {inet[/0:0:0:0:0:0:0:0:9200]}, publish_address {inet[/166.78.177.149:9200]} 
[2013-04-03 22:14:11,202][INFO ][node      ] [Nemesis] {0.20.6}[2752]: started 
[2013-04-03 22:14:11,275][INFO ][gateway     ] [Nemesis] recovered [0] indices into cluster_state 

der anderen Knoten Logbuch:

[2013-04-03 22:13:54,538][INFO ][node      ] [Jaguar] {0.20.6}[3364]: initializing ... 
[2013-04-03 22:13:54,546][INFO ][plugins     ] [Jaguar] loaded [], sites [] 
[2013-04-03 22:13:58,825][INFO ][node      ] [Jaguar] {0.20.6}[3364]: initialized 
[2013-04-03 22:13:58,826][INFO ][node      ] [Jaguar] {0.20.6}[3364]: starting ... 
[2013-04-03 22:13:58,977][INFO ][transport    ] [Jaguar] bound_address {inet[/0:0:0:0:0:0:0:0:9300]}, publish_address {inet[/166.78.63.101:9300]} 
[2013-04-03 22:14:02,041][INFO ][cluster.service   ] [Jaguar] new_master [Jaguar][WXAO9WOoQDuYQo7Z2GeAOw][inet[/166.78.63.101:9300]], reason: zen-disco-join (elected_as_master) 
[2013-04-03 22:14:02,094][INFO ][discovery    ] [Jaguar] elasticsearch/WXAO9WOoQDuYQo7Z2GeAOw 
[2013-04-03 22:14:02,129][INFO ][http      ] [Jaguar] bound_address {inet[/0:0:0:0:0:0:0:0:9200]}, publish_address {inet[/166.78.63.101:9200]} 
[2013-04-03 22:14:02,129][INFO ][node      ] [Jaguar] {0.20.6}[3364]: started 
[2013-04-03 22:14:02,211][INFO ][gateway     ] [Jaguar] recovered [0] indices into cluster_state 

Ist das Hinzufügen des Netzwerks nicht genug (Rackspace gab mir auch eine IP für dieses Netzwerk)? Muss ich irgendwie in der conf-Datei spezifizieren, um dieses Netz zu überprüfen, wenn ich Multicast verwende, um andere Knoten zu finden?

Ich fand auch diese article, die einen anderen Ansatz bot. Gemäß den Anweisungen des Artikels Ich habe dies in /config/elasticsearch.yml:

cloud: 
    account: account # 
    key: account key 
    compute: 
     type: rackspace 
discovery: 
    type: cloud 

jedoch dann, als ich versuchte ElasticSearch ich das bekam neu zu starten: Start

Stopping ElasticSearch... 
Stopped ElasticSearch. 
Starting ElasticSearch... 
Waiting for ElasticSearch....... 
WARNING: ElasticSearch may have failed to start. 

Und es versäumte. Ich habe in der Log-Datei für Fehler, aber das war alles, was es war:

[2013-04-03 22:31:00,788][INFO ][node      ] [Chamber] {0.20.6}[4354]: initializing ... 
[2013-04-03 22:31:00,797][INFO ][plugins     ] [Chamber] loaded [], sites [] 

Und es hielt es ohne Fehler und ohne Fortsetzung.

Hat jemand erfolgreich ElasticSearch erhalten, um in der Rackspace-Wolke vorher zu arbeiten? Ich weiß, dass die Unicast-Option ebenfalls verfügbar ist, aber ich würde es vorziehen, nicht jede IP-Adresse einzeln angeben zu müssen, da ich möchte, dass andere Knoten später einfach hinzugefügt werden können. Vielen Dank!

UPDATE

ich nicht das Problem noch nicht gelöst haben, aber nach einiger Suche fand ich diese post, dass die „alten“ Cloud-Plugin sagt wurde eingestellt und mit nur ein Ec2 Plugin für Amazons Cloud ersetzt, die erklärt, warum die Änderungen, die ich an der Konfigurationsdatei vorgenommen habe, nicht funktionieren.

+1

dumme Frage, aber können Sie verwenden, um die explizite Unicast-Erkennung? – mconlin

Antwort