Performance, Hits: 868, Comments: 0, Bookmarked: 0, Followers: 1

Geodatafy Cluster - How to

In this write up I will cover the steps taken to create the Geodatafy cluster - this will be based on a 3 node cluster but we also support 5 nodes.

Starting with Geodatafy 2.0.32 we support the ability to cluster the main services. The advantages of deploying the cluster solution are:

  • Increased scalability
    • Very large index support
    • Parallel query processing
    • Parallel job processing
  • Increased data protection
    • Ability to withstand a single node failure with zero impact to service
    • Replicas provide data protection from system crashes / failures 

 

Installation & Configuration Process (Sept 2019)

 

Part one - Geodatafy Main Application

We are about to create a dedicated installer for this process but today it is done manually:

Prepare three Windows Servers: In our case here we use Windows 2016 Server each with 32GB RAM, all three follow the standard installation prerequisites including IIS configuration, later we may include an IIS farm setup to provide HA at the application front end.

For the purpose of this write up servers are called

node1.acme.org

node2.acme.org

node3.acme.org

 

Note: Ensure all three servers are on the same network (same subnet etc) and make sure that can communicate with each other. If firewalls exist they will need to be opened for certain ports 

 

  1. Install Geodatafy on to node1.acme.org using the standard installer from Bahwan Cybertek. The license will be installed on this node. Ensure as a stand alone server it works, access the Geodatafy UI and perform some simple quick basic tests, dont go too made as we will delete all the configs.
  2. Shut Geodatafy down (with the windows services (there are two services, Geodatafy and GeodatafyZookeeper)
  3. Go to the data directory (if you are not sure open a command prompt and type echo %GD_DATA_PATH%), go into collections and delete the files under zoo_data leaving the folder in place
  4. Now delete all of the other folders in collections (except zoo_data) - note do not delete any other files in the root of collections
  5. Now navigate to C:Program FilesGeodatafyzookeeperconf - we need to edit zoo.cfg and edit to suit your environment: Use this template:
    • <file template>
  6. Now we have edited the zoo.cfg we now the list of servers (followed by a number), this number must correspond to our node myid file. Navigate to the empty zoo_data directory from step 3 and create an empty file called myid. Edit the file and enter the unique and correct number for each server. Example node1.acme,org has a myid file that contains 1, node2.acme.org has a myid file that contains 2 and so on.  Note when we copy the files between servers the myid file will exist but with the wrong value.
  7. Now lets head up to ....solr/bin - we want to edit the Solr.cmd to ensure we are setting the Solr JVM memory, for a 32GB system I would allocate 16G and monitor the usage.
    • Using notepad++ its line 1122 - set it to this (for min 4GB / max 16GB) IF "%SOLR_JAVA_MEM%"=="" set SOLR_JAVA_MEM=-Xms4g -Xmx16g
  8. Next copy the files from c:Program FilesGeodatafy and c:programdataGeodatafy to the othe two nodes (node2 and node3)
  9. Edit the myid files on both server to match the server number e.g node2 = 2 and node3 = 3.
  10. Set JAVA_HOME, GD_DATA_PATH and GD_LOG_PATH to match that of node1.acme.org - for a standard deployment it would be as follows:
    1. JAVA_HOME=C:Program FilesOpenSpiritv4.3jreWindows_x86_64 and edit the PATH varibale to include the bin ;C:Program FilesOpenSpiritv4.3jreWindows_x86_64bin
    2. GD_DATA_PATH=C:ProgramDataGeodatafy
    3. GD_LOG_PATH=C:ProgramDataGeodatafy
  11. Now lets create some windows services to support zookeeper upon start-up (this will create a service wrapper that starts at system start).
    1. cd c:Program FilesGeodatafynssmwin64
    2. nssm install GeodatafyZookeeper, browser to path C:Program FilesGeodatafyzookeeperbinzkServer.cmd
    3. Change Log On to be the service account you used for the main  installation
  12. Next create a service for Geodatafy
    1. cd c:Program FilesGeodatafynssmwin64
    2. nssm install Geodatafy, browser to path C:Program FilesGeodatafysolrbinsolr.cmd
    3. set the arguments to "start -f -c -s C:ProgramDataGeodatafycollections -p 8983 -z node1.acme.org:9983,node2.acme.org:9983,node3.acme.org:9983"

IMPORTANT - startup of ALL zookeepers must happen before starting Solr. Ideally externally monitoring of the services to ensure that upon system failure start can be orchestrated corrected.

Last Modified: %AM, %07 %635 %2019


dave.b
%AM, %03 %527 %2019
0% of 0 votes