All required software components can be copied from the WebOffice10.7-DVD under <%FTS_SETUP_CLOUD%>:
•WebOffice_FTS-Index_Setup.msi
•zookeeper.zip
•WebOffice_config.zip
1. Zookeeper Ensemble installation
Zookeper unzip
There is no Setup.exe file for Zookeepers. Just unzip the folder „WebOffice Zookeeper“ from zookeeper.zip to the desired location (z.B. C:\Program Files (x86)\SynerGIS\WebOffice Zookeeper).

Unzip WebOffice Zookeeper folder
Important:
The WebOffice Zookeeper order contains two instances. If (as we recommend) only one instance should run per host, the instance2 directory must be deleted.
Attention:
This must be done individually for each Zookeeper instance.
Custom Zookeeper Instance ID
Each Zookeeper instance of an ensemble has its own integer ID. This ID must be unique across all participating hosts, regardless of how many instances are installed on a single machine.
The ID is stored in the following places:
•The file instance1/data/myid must have the ID as content
•The directory instance1 is renamed to instance{ID}

Configuration of the instance with ID 3
Attention: This must be done individually for each Zookeeper instance.
Customize Zookeeper Server configuration
In the Zookeeper/instance{ID}/conf/zoo.cfg file, the port of the instance and the description of the entire ensemble must be modified.
Tip:
The list of instances of the quorum is identical for all instances. The list entries are made up as follows:
server.{ID}={Hostname bzw. IP}:{ZK_QUORUM Port}:{ZK_ELECTION Port}
The clientPort (ZK_CLIENT) can be set individually for each instance. However, if all instances run on their own host, it makes sense to use the same ZK_CLIENT everywhere.

Configuration in "zoo.cfg" file
Attention: This must be done individually for each Zookeeper instance.
Customizing the Configuration of the Windows Service
In the file Zookeeper/instance{ID}/conf/wrapper.conf you can configure the name of the Windows service to be started with the Zookeeper.
Tip:
The value wrapper.ntservice.name is a technical name. If multiple Zookeeper instances are running on the same host, this name must be unique for each instance.

Configuration in "wrapper.conf" file
Attention: This must be done individually for each Zookeeper instance.
Install Windows Service for Zookeepers
On the server, the system variable ZOOKEEPER_HOME must be set to the installation path under Advanced system settings-->Environment Variables.

System variable ZOOKEEPER_HOME
At the Windows command prompt (cmd.exe, with administrator privileges) a Windows service can be created using the script „C:\Program Files (x86)\SynerGIS\WebOffice Zookeeper\instance{ID}\bin\windows-x86-64\InstallNTService.bat“.

Installing and starting the Windows Service
The service can then be started via the script StartNTService.bator via the list of services.

Windows Service for Zookeepers
Attention: This must be done individually for each Zookeeper instance.
Verify that all instances are included in the Zookeeper Quorum
After all Zookeeper Services have been started, it makes sense to verify that all instances are accessible as expected.
This can be done with the tools netstat.exe, telnet.exe oder nc.exe for example.
Additional information can be found in chapter Networktools.
Attention: This must be done individually for each Zookeeper instance.
2. Install SolrCloud
WebOffice FTS-Index (sprich: eine Solr Instanz) installieren
An FTS index instance can be installed as usual via the setup (WebOffice_FTS-Index_Setup.msi).
Tip:
Additional information can be found in the chapter Install WebOffice FTS-Index.
Important:
For load balancing, the security setting (IP filtering) of the FTS index instances must be adjusted. Specifically, the IP of the computer on which the LoadBalancer runs must be entered in the file server/etc/jetty-ipfilter.xml by all Solr instances involved so that access is allowed.
Instructions can be found in the chapter Configuration of Configuring WebOffice FTS-Index.
Attention: This must be done individually for each Zookeeper instance.
Create root directory in Zookeeper
Zookeeper does not store the configurations to be synchronized on the file system, but keeps them in memory.
With solr.cmd it is possible to list, create or delete directories in Zookeeper.
It is not important to which instance of the Zookeeper Ensemble the command is sent.
List the items in Zookeeper's root:
solr.cmd zk ls / -z localhost:12181
The configurations for Solr should be stored separately from other elements, a new directory "/solr" is created for this purpose:
solr.cmd zk mkroot /solr -z localhost:12181

Create directory for Solr configurations in Zookeeper
Attention: This must only be done once. The changes are automatically synchronized to the other Zookeeper instances.
Store configuration of the WebOffice collection in Zookeeper
The WebOffice_config folder can be unpacked into a temporary directory (e.g. „C:\Temp\WebOffice_config“) and then uploaded to Zookeeper's memory.
Attention:
The path of the temporary directory must not contain any special characters or spaces.
The temporarily unpacked data is uploaded with the following command:
solr.cmd zk upconfig -n WebOffice -d "C:/Temp/WebOffice_config" -z localhost:12181
Important:
The -z parameter must be specified in the form [Postname/IP][Port][Root] angegeben werden. The value"/solr" is decisive, otherwise the uploaded configurations will not end up in the desired directory and will not be found later by the FTS index instances.

Upload the WebOffice configuration to Zookeeper
The ls command can be used to check which configurations are available in Zookeeper:
solr.cmd zk ls /solr -r -z localhost:12181
Tip:
The configuration of FTS index is now centrally managed within Zookeeper.
The local configuration directory WebOffice FTS-Index/server/solr/WebOffice can therefore be deleted.
It is not needed in cloud mode and therefore leads at most to confusion.
The temporary directory (e.g. "C:\Temp\WebOffice_config") can also be deleted.
Attention: This must only be done once. The changes are automatically synchronized to the other Zookeeper instances.
Connecting the FTS index to the Zookeeper Ensemble ("Cloud Mode")
In the file FTS-Index/bin/solr.in.cmd the parameter ZK_HOST contains the list of all Zookeeper instances of the ensemble and finally the newly created "/solr" directory where the configurations should be stored.
set ZK_HOST=localhost:12181,localhost:22181,localhost:32181/solr

Configuration for "Cloud" mode
Attention:
Make sure that each individual Zookeeper instance is listed (and not one Zookeeper instance more than once), otherwise failover is not guaranteed.
It is also important to specify the path "/solr" at the end so that the uploaded configurations can be found.
The Windows service SynerGIS WebOffice FTS Index (port 8983) must now be restarted and in "Cloud" mode. This can be seen from the "Cloud" menu item available in the Solr web interface.
Also, no collections or cores are defined, since the configuration is now obtained from Zookeeper.

Solr WebInterface in "Cloud"-Mode
Attention: This must be done individually for each Zookeeper instance.
Create Solr Collection "WebOffice" and distribute it to all FTS instances
Now a new collection is created from the already uploaded configuration set and this is replicated to all available AGV instances.
solr.cmd create -p 8983 -c WebOffice -n WebOffice -shards 1 -replicationFactor 2

Creation of the Collection WebOffice on two available Solr instances
Tip:
The warning „WARNING: Using _default configset …“ appears with a bug in Solr and can be ignored if the expected messages "Re-using existing configuration ..." and "Created collection..." are displayed afterwards.
In the Solr WebInterface you can check under the menu item Cloud whether the creation was successful:
http://localhost:8983/solr/#/~cloud

The collection "WebOffice" is replicated to two Solr nodes