© saicle/Shutterstock.com
Solr-Suchserver in die Cloud skalieren

Solr-Suchserver in die Cloud skalieren


Apache Solr ist für die meisten Entwickler, die schon mal eine leistungsfähige Suchfunktion implementieren mussten, ein alter Bekannter. Vor wenigen Monaten wurde nun die langerwartete neue Major-Version 4.0 der auf Apache Lucene basierenden Suchplattform veröffentlicht. Auch wenn manche Neuerungen, wie das komplett überarbeitete Admin UI und die Aktualisierung der zugrunde liegenden Apache-Lucene-Version, offensichtlich sind, steckt die spannendste Neuerung im Detail: Die SolrCloud ermöglicht den relativ einfachen Aufbau eines Clusters aus Solr-Applikationsservern, um die Suchplattform einfach und effizient zu skalieren und hochverfügbar zu machen.

Bevor wir uns in das Abenteuer SolrCloud stürzen können, gilt es noch ein paar Vorbereitungen zu treffen, die im weiteren Verlauf des Artikels die Arbeit und gegebenenfalls die Fehlerdiagnose erheblich vereinfachen können. Für das Arbeiten mit mehreren identischen Systemen ist ClusterSSH bzw. csshX (für Mac OS X) eine gute Wahl, um SSH-Kommandos auf mehreren Systemen parallel ausführen zu können. Für den schnellen Start gibt es auch auf dem GitHub-Profil des Autors [1] eine vorgefertigte Vagrant Box, auf der bereits alle wichtigen Dienste installiert sind, und die als Grundlage für alle nachfolgenden Beispiele dient. Als Betriebssystem wurde Ubuntu LTE 12.04 gewählt. Das Einrichten der Maschine geht schnell von der Hand, es wird lediglich ein installiertes vagrant [2] vorausgesetzt. Die entsprechende Base Box wird, wenn nicht bereits vorhanden, zum System hinzugefügt:

 vagrant add box precise64 http://files.vagrantup.com/precise64.box

Anschließend soll ein kleines Cluster an virtuellen Maschinen aufgebaut werden, um somit eine eigene kleine SolrCloud auf dem eigenen Rechner aufsetzten zu können. Für die nachfolgenden Beispiele hat der Autor vier virtuelle Maschinen aufgesetzt. Als Hostname wurde jeweils solr und die Nummer der Maschine verwendet (solr1, solr2 usw.). Dazu wurde das Git Repository in entsprechende Ordner geklont:

git clone https://github.com/sthartmann/vagrant-solr4.git solr1

Die Hostnamen und IP-Adressen der virtuellen Maschinen müssen vor dem ersten Initialisieren in der entsprechenden Vagrantfile angepasst werden:

config.vm.network :hostonly, "192.168.3.200" config.vm.host_name = "solr1"

Nun kann in das jeweilige Verzeichnis gewechselt und die Maschine kann hochgefahren werden. Es ist zu bedenken, dass der erste Start etwas dauern kann, da hier die Solr- und ZooKeeper-Installationspakete aus...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang