Replicating ZooKeeper

The Sisense configuration database is responsible for storing your configuration data. The Sisense process responsible for this is called ZooKeeper.

A replicated cluster of ZooKeeper instances can be used to ensure that your Sisense configuration is up-to-date across your entire configuration. The following steps describe how to create a ZooKeeper cluster.

To replicate ZooKeeper:

Note:

Repeat these actions in each of the nodes:


  1. In Windows Services, stop the Sisense.Discovery service.

  2. In the directory, '...\ProgramData\Sisense\Infra', backup the Discovery folder and save the backup copy to another directory.

  3. Create an identifier for each ZooKeeper instance within the cluster. To do this, in the original Discovery folder, go to the DataDir folder and create a file called 'myid' (without an extension). In the file enter a number to identify the server. For example, for the initial node use 1, and for every additional node use 2, 3, 4...etc. The file should only contain a single number that represents the node in your ZooKeeper cluster.

  4. Go back to Discovery folder and create a file called 'connectionString' (without an extension), and write the list of the server:port pairs separated by commas. It should look like this:

    <Server1-IP>:2181,<Server2-IP>:2181,<Server3-IP>:2181

  5. In the '...\Program Files\Sisense\Infra\Discovery\conf\zoo.cnf' directory, backup the Zookeeper configuration file and save the backup copy to another directory.

  6. Open the zoo.cnf file, and add the following configurations:

    • initLimit = 10
    • syncLimit = 5
    • server.1=<Server1-IP> :2888:3888
    • server.2=<Server2-IP> :2889:3889
    • server.3=<Server3-IP> :2890:3890
  7. For each of the servers, identify the server IP. The server number in the configuration file should match the number in the myid file on the same server.

  8. Repeat Steps 1 - 7 in all servers.

  9. In Windows Services, start the Sisense.Discovery service in all servers.

  10. Wait one minute for the service to start up, and open localhost:3030 in your browser in all servers. Refresh the web page and make sure they all display the same configuration. For example, check that the application database connection string is the same across all servers.

  11. In Windows Services, restart the Sisense.Configuration service on all servers.

  12. On the initial node, open localhost:3030 in your browser. Scroll down to General and edit the ZooKeeper Connection String and paste the same connection string you created in Step 4.

    8-5confirmservicesthumb0300.png

  13. In your browser, open the Configuration Manager at localhost:3030 on all servers, refresh the page, and make sure that they all display the same ZooKeeper Connection String.
  14. If the ZooKeeper Connection strings match, in all servers click at the top of the Configuration Manager and then confirm that you want to restart the relevant services by clicking Yes.