> For the complete documentation index, see [llms.txt](https://docs.fortifiedid.se/installation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.fortifiedid.se/installation/cluster-configuration.md).

# Cluster configuration

Clustering is achieved by sharing sessions between nodes in the system using Hazelcast technology. To ensure this works effectively, an external load balancer is required in front to manage the distribution of requests among the nodes. For optimal performance, the load balancer should be configured to use sticky sessions, ensuring that a user’s session is consistently directed to the same node. For more details on how Hazelcast facilitates clustering, please refer to the [Hazelcast website](https://hazelcast.com).

### Setup

Enabling cluster is done by editing the "*config.json*" file.  At top level in the file add:

```json
{
    "server": {
        "cluster": {
            "enabled": true,
            "config_path": "<path_to_cluster_config>/cluster.xml"
        }
    }
}
```

{% hint style="danger" %}
Note that example above is the entire content of "*config.json*". This will NOT be the case in real world.&#x20;
{% endhint %}

### Example

Attached is an example configuration. Download, edit and place where not removed on upgrade.

{% file src="/files/YBORUtLyhg2em0zOuvrK" %}
Use this file as an example
{% endfile %}

{% hint style="danger" %}
It is crucial that all nodes synchronise their clocks with the same time synchronisation servers. Since time is used as decision  point selecting "last data".
{% endhint %}

{% hint style="info" %}
If log shows "***\[AbstractXmlConfigHelper] WARN: Name of the hazelcast schema*****"** the **"**&#x78;si:schemaLocatio&#x6E;**"** in cluster configuration file need to be update&#x64;**.** List of available schemas can be found at <https://www.hazelcast.com/schema/config/> . Reference the one closest in version to the hazelcast version used. Current version is found under  application lib-directory: hazelcast-xxx.jar&#x20;
{% endhint %}

### Disabling Hazel cast phone home

By default hazel cast sends usage data. This can be disabled by setting "hazelcast.phone.home.enabled" property in cluster configuration file:

```xml
....
   <properties>
        <property name="hazelcast.phone.home.enabled">false</property>
    </properties>
....    

```
