# Google Analytics

Configuring a cluster

Reasons for using clustered environments

  • High Availability (a node leaves the cluster and the application can still be used)
  • General Performance Increase (more computer power without adding more hardware to one machine)
  • Geolocalized Performance Increase (users will be redirected to geographically closer servers and thus see faster response times)

Requirements

To make use of a clustered environment for any reason, a Load Balancer is a requirement. The Load Balancer will make sure that end users only have one point of entry (URL) to access the application. While common load balancers simply redirect users via a round-robin behavior, advanced load balancers can determine the current load of the target systems and forward users to the least used resource.

Setup initial node

The first node is installed according to the normal Installation Guide in non-clustered mode initially. Once you have set up your instance with a database, have validated that you can log in and potentially added users or an LDAP directory, shut down the node again. Depending on the installation type, the following steps are necessary. When performing them, it is strongly recommended to increase the memory of your instance, as clustered environments tend to require more memory due to an overhead in data stored from other nodes.

  • Predeployed Tomcat set up via install_service.bat on Windows
    • Run manage_service.bat (if you are using a custom service name, you will need to add that as a parameter, i.e. manage_service.bat myiceservice)
    • Go to the Java Tab and add a new JVM system variable -Digrafx.clustering.enabled=true.
    • Press OK to save your settings
    • Restart your service
  • Predeployed Tomcat run manually via startup.bat
    • Edit the file setenv.bat and make sure that the variable CLUSTERING_ENABLED is set to true
  • WAR file
    • Add a new system property to your respective application server: -Digrafx.clustering.enabled=true

Setup additional nodes

Additional nodes can be set up by following the above protocol for the initial node, but instead of doing the installation (i.e. providing database details on the Setup page), change your instance to clustering enabled before doing anything in the browser. Then run the service again. You should see the following installation screen:

Enter the URL of any already existing node and the credentials of an administrative user. You can then test your connection and perform the installation. Once the installation is completed, you will be prompted to restart your node. After the restart you will be able to see connected nodes in the Support/System Information section under Cluster Information Your cluster setup is now completed.

Viewing your Cluster Status

You can view your cluster status from every node by navigating to Administration > Support > System Information > Cluster 

The node list will contain a host name, IP address, a randomly generated node ID, and the information if the respective node is a cluster lead node and/or a local node. The terms lead and local node are explained below

Local Node

In the Cluster Status node list, Local node will be shown next to the node that the end user is currently accessing. If you are directly accessing the server via its designated IP or host name (instead of through a load balancer), this will always reflect the actual virtual or physical machine you have installed this platform cluster node on. If you are accessing the node through a load balancer, the local node might be different every time you reload the page, depending on which kind of load balancing strategy you have configured. While accessing a cluster node you will only ever be able to see the log files for the server that is indicated as local, and all interactions are processed by the respective local node.

Lead Node

Lead node indicates the oldest running node in the cluster, and this designation means that the node has specific responsibilities that should only be performed by at most one node in the cluster. This includes among others

  • Running upgrade scripts
  • Sending emails
  • Processing Scheduled Cycles
  • Scheduled LDAP imports

If the lead node ever goes down or is restarted, the next oldest node in the cluster will automatically become the lead node. Aside from these special duties, the lead node can be treated like any other node in your High-Availability or horizontal scaling setup.

Set up Load Balancer or Fail Over configuration

The actual load balancing or fail over configuration requires profound knowledge of your goals and IT infrastructure and is beyond the scope of the iGrafx Product documentation. But for demonstration purposes about the concept behind a load balanced setup you should see the page Configuring a cluster with local load balancer

Advanced setup

A Hazelcast configuration file named clustercacheconfig.xml may be placed in the iGrafx Base Directory to override the default Cluster settings (disable multicast, predefine node members etc.). See http://docs.hazelcast.org/docs/3.3/manual/html/networkconfig.html for more information