Alle benötigten Software-Komponenten können von der WebOffice10.7-DVD unter WebOffice10.7-DVD\Software\WebOffice FTS-Index\Solr Cloud kopiert werden:
•WebOffice_FTS-Index_Setup.msi
•zookeeper.zip
•WebOffice_config.zip
1. Zookeeper Ensemble installieren
Zookeper entpacken
Für Zookeeper gibt es keine Setup.exe-Datei. Es genügt den Ordner „WebOffice Zookeeper“ aus zookeeper.zip an den Gewünschten Ort zu entpacken (z.B. C:\Program Files (x86)\SynerGIS\WebOffice Zookeeper).

Verzeichnis WebOffice Zookeeper entpackt
Wichtig:
Der Order WebOffice Zookeeper enthält zwei Instanzen. Wenn (unserer Empfehlung entsprechend) pro Host nur eine Instanz laufen soll, muss das Verzeichnis instance2 gelöscht werden.
Achtung:
Dies muss für jede Zookeeper Instanz einzeln durchgeführt werden.
ID der Zookeeper Instanz anpassen
Jede Zookeeper Instanz eines Ensembles hat eine eigene Ganzzahl-ID. Diese ID muss über alle beteiligten Hosts hinweg eindeutig sein, unabhängig davon wie viele Instanzen auf einer einzelnen Maschine installiert sind.
Die ID wird an folgenden Stellen hinterlegt:
•Die Datei instance1/data/myid muss als Inhalt die ID haben
•Das Verzeichnis instance1 wird umbenannt nach instance{ID}

Konfiguration der Instanz mit der ID 3
Achtung: Dies muss für jede Zookeeper Instanz einzeln durchgeführt werden.
Konfiguration des Zookeeper Servers anpassen
In der Datei Zookeeper/instance{ID}/conf/zoo.cfg muss der Port der Instanz sowie die Beschreibung des gesamten Ensembles angepasst werden.
Hinweis:
Die Liste der Instanzen des Quorums ist für alle Instanzen identisch. Die Listeneinträge setzen sich wie folgt zusammen:
server.{ID}={Hostname bzw. IP}:{ZK_QUORUM Port}:{ZK_ELECTION Port}
Der clientPort (ZK_CLIENT) kann für jede Instanz individuell festgelegt werden. Wenn alle Instanzen auf einem eigenen Host laufen, macht es jedoch Sinn überall denselben ZK_CLIENT zu verwenden.

Konfiguration in Datei "zoo.cfg"
Achtung: Dies muss für jede Zookeeper Instanz einzeln durchgeführt werden.
Konfiguration des Windows Service anpassen
In der Datei Zookeeper/instance{ID}/conf/wrapper.conf kann konfiguriert werden wie der Windows Service heißen soll mit dem Zookeeper gestartet wird.
Hinweis:
Der Wert wrapper.ntservice.name ist ein technischer Name. Falls mehrere Zookeeper Instanzen auf demselben Host laufen, muss dieser Name für jede Instanz eineindeutig sein.

Konfiguration in Datei "wrapper.conf"
Achtung: Dies muss für jede Zookeeper Instanz einzeln durchgeführt werden.
Windows Service für Zookeeper installieren
Auf dem Rechner muss unter Erweiterte Systemeinstellungen --> Umgebungsvariablen die Systemvariable ZOOKEEPER_HOME auf den Installationspfad gesetzt werden.

Systemvariable ZOOKEEPER_HOME
In der Windows Eingabeaufforderung (cmd.exe, mit Administratorberechtigung) kann über das Script „C:\Program Files (x86)\SynerGIS\WebOffice Zookeeper\instance{ID}\bin\windows-x86-64\InstallNTService.bat“ ein Windows Dienst erstellt werden.

Windows Service installieren und starten
Der Dienst kann anschließend über das Script StartNTService.bat oder über die Liste der Dienste gestartet werden.

Windows Service für Zookeeper
Achtung: Dies muss für jede Zookeeper Instanz einzeln durchgeführt werden.
Verifizieren, dass alle Instanzen in das Zookeeper Quorums eingebunden sind
Nachdem alle Zookeeper Services gestartet worden sind, ist es sinnvoll zu verifizieren, dass alle Instanzen auch wie erwartet erreichbar sind.
Dies kann z.B. mit den Tools netstat.exe, telnet.exe oder nc.exe gemacht werden.
Zusätzliche Informationen dazu in Kapitel Netzwerktools.
Achtung: Dies muss für jede Zookeeper Instanz einzeln durchgeführt werden.
2. SolrCloud installieren
WebOffice FTS-Index (sprich: eine Solr Instanz) installieren
Eine FTS-Index Instanz kann wie gewohnt über das Setup (WebOffice_FTS-Index_Setup.msi) installiert werden.
Hinweis:
Zusätzliche Informationen dazu befinden sich im Kapitel Installation von WebOffice FTS-Index.
Wichtig:
Für das Load-Balancing muss die Security-Einstellung (IP-Filtering) der FTS-Index Instanzen angepasst werden. Konkret muss die IP des Rechners, auf welchem der LoadBalancer läuft, in der Datei server/etc/jetty-ipfilter.xml von allen beteiligten Solr-Instanzen eingetragen werden, damit der Zugriff erlaubt wird.
Eine Anleitung dazu befindet sich im Kapitel Konfiguration von WebOffice FTS-Index.
Achtung: Dies muss für jede Solr Instanz einzeln durchgeführt werden.
Root-Verzeichnis in Zookeeper erstellen
Zookeeper legt die zu synchronisierenden Konfigurationen nicht auf dem Dateisystem ab, sondern hält sie im Memory.
Mit solr.cmd ist es möglich in Zookeeper aufzulisten, Verzeichnisse anzulegen oder zu löschen.
Es ist dabei nicht entscheidend an welche Instanz des Zookeeper Ensemble der Befehl abgesetzt wird.
Auflisten der Elemente im „root“ von Zookeeper:
solr.cmd zk ls / -z localhost:12181
Die Konfigurationen für Solr sollen von anderen Elementen getrennt abgelegt werden, dafür wird ein neues Verzeichnis „/solr“ angelegt:
solr.cmd zk mkroot /solr -z localhost:12181

Verzeichnis für Solr Konfigurationen in Zookeeper erstellen
Achtung: Dies muss NUR EINMAL durchgeführt werden. Die Änderungen werden automatisch auf die anderen Zookeeper Instanzen synchronisiert.
Konfiguration der Collection WebOffice in Zookeeper ablegen
Der Ordner WebOffice_config kann in einem temporären Verzeichnis (z.B. „C:\Temp\WebOffice_config“) entpackt werden und wird dann in den Speicher von Zookeeper hochgeladen.
Achtung:
Der Pfad des temporären Verzeichnisses darf keine Sonderzeichen oder Leerzeichen enthalten.
Die temporär entpackten Daten werden mit dem folgenden Befehl hochgeladen:
solr.cmd zk upconfig -n WebOffice -d "C:/Temp/WebOffice_config" -z localhost:12181
Wichtig:
Der Parameter -z muss in der Form [Postname/IP][Port][Root] angegeben werden. Der Wert „/solr“ ist dabei entscheiden, da sonst die hochgeladenen Konfigurationen nicht im gewünschten Verzeichnis landen und später von den FTS-Index Instanzen nicht gefunden werden.

Hochladen der WebOffice Konfiguration nach Zookeeper
Mit dem Befehl ls kann überprüft werden welche Konfigurationen in Zookeeper vorhanden sind:
solr.cmd zk ls /solr -r -z localhost:12181
Hinweis:
Die Konfiguration von FTS-Index wird nun zentral innerhalb von Zookeeper verwaltet.
Das lokale Konfigurations-Verzeichnis WebOffice FTS-Index/server/solr/WebOffice kann daher gelöscht werden.
Es wird im Cloud-Modus nicht benötigt und führt daher höchstens zu Verwirrung.
Ebenso kann das temporäre Verzeichnis (z.B. „C:\Temp\WebOffice_config“) gelöscht werden.
Achtung: Dies muss NUR EINMAL durchgeführt werden. Die Änderungen werden automatisch auf die anderen Zookeeper Instanzen synchronisiert.
FTS-Index mit dem Zookeeper-Ensemble verbinden („Cloud-Modus“)
In der Datei FTS-Index/bin/solr.in.cmd wird im Parameter ZK_HOST einerseits die Liste aller Zookeeper Instanzen des Ensembles und abschließend auch das neu erstellte „/solr“-Verzeichnis angegeben, wo die Konfigurationen abgelegt werden sollen.
set ZK_HOST=localhost:12181,localhost:22181,localhost:32181/solr

Konfiguration für "Cloud" -Modus
Achtung:
Es ist darauf zu achten, dass jede einzelne Zookeeper Instanzen aufgelistet ist (und nicht eine Zookeeper Instanz mehrmals), da andernfalls keine Ausfallsicherheit garantiert ist.
Ebenso ist es entscheidend den Pfad „/solr“ am Ende anzugeben, damit die hochgeladenen Konfigurationen gefunden werden können.
Der Windows Dienst SynerGIS WebOffice FTS-Index (Port 8983) muss nun neu gestartet werden und im „Cloud“-Modus. Dies ist daran erkennbar, dass im Solr Webinterface der Menüeintrag „Cloud“ zur Verfügung steht.
Außerdem sind keine Collections oder Cores definiert, da die Konfiguration nun von Zookeeper bezogen wird.

Solr WebInterface im "Cloud"-Modus
Achtung: Dies muss für jede Solr Instanz einzeln durchgeführt werden.
Solr Collection „WebOffice“ erstellen und auf alle FTS-Instanzen verteilen
Nun wird aus dem bereits hochgeladenen Konfigurationsset eine neue Collection erstellt und diese wird auf alle verfügbaren FTS-Instanzen repliziert.
solr.cmd create -p 8983 -c WebOffice -n WebOffice -shards 1 -replicationFactor 2

Erstellung der Collection WebOffice auf zwei verfügbaren Solr Instanzen
Hinweis:
Die Warnung „WARNING: Using _default configset …“ erscheint durch ein Bug in Solr und kann vernachlässigt werden wenn darauffolgend die zu erwartenden Meldungen „Re-using existing configuration …“ und „Created collection …“ angezeigt werden.
Im Solr WebInterface kann unter dem Menüpunkt Cloud überprüft werden, ob die Erstellung erfolgreich war:
http://localhost:8983/solr/#/~cloud

Die Collection "WebOffice" ist auf zwei Solr Knoten repliziert