Pages

Friday, May 7, 2021

JIRA Cluster Replication Issue - Solved

 As a part of onboarding Jira to our organization, we used JIRA Data Center edition with 4 nodes. Once the Cluster is configured and after attaching load  balancer to the cluster, we observed a warning on the console. We can see the Warning “Cluster Cache Replication Health” check failed.

Upon researching and doing a lot of trials, we were able to solve this issues. Here are few things to do if missing,

  1. Jira requires communication between the cluster nodes to communicate and replicate cache data. The cluster nodes talk to each other using TCP/IP communication on the Port 5071. So we have to open the 5701 port on all nodes by either opening the iptables or firewalld.

  2. Jira uses Ehcache as the cache technology.  We have to open the ports by which  the Ehcache cache replication happens. The ports include

Ehcache - 40001 - For inter node communication in Data Center

Ehcache - 40011 - set by default in JIRA 7.13 or higher


All these 3 ports need to be open in all nodes of the cluster.


  1. Opening these 3 ports does not work. We have to tell Jira to use these ports for the cluster communication and cache replication. For this we have to modify the cluster.properties files in all nodes with below content.


         [root@GLGBLN-ST931512 jira]# cat cluster.properties


          # This ID must be unique across the cluster

              jira.node.id = node-3


          # The location of the shared home directory for all Jira nodes

             jira.shared.home = /app/atlassian/application-data/shared

 

             ehcache.listener.port = 40001

             ehcache.object.port = 40011

 

  1. Even though the Ports are opened, we need to provide JIRA a reachable address of the nodes through which it can replicate Cache data. This is done by adding the ehcache.listner.hostname element to the cluster.properties as below

         ehcache.listener.hostName = 10.186.45.110

  So now the whole contents of the cluster.properties look as below

[root@GLGBLN-ST931512 jira]# cat cluster.properties

# This ID must be unique across the cluster

jira.node.id = node-3

# The location of the shared home directory for all Jira nodes

jira.shared.home = /app/atlassian/application-data/shared 

ehcache.listener.hostName = 10.186.45.110

ehcache.listener.port = 40001

ehcache.object.port = 40011

 

Upon adding everything it did not went well, still we are seeing the Cache Replication Exception and also UnknownHost Exception. Then i made 2 more changes as below,Added the hostname to /etc/hosts file 

[root@GLGBLN-ST931512 log]# cat /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

#::1     localhost localhost.localdomain localhost6 localhost6.localdomain6

10.186.45.110 localhost localhost.localdomain GLGBLN-ST931512.eu.novartis.net 

We added the local machine IP address along with FQDN. 

Next made changes to the cluster.properties as below,

[root@GLGBLN-ST931512 jira]# cat cluster.properties

# This ID must be unique across the cluster

jira.node.id = node-3

# The location of the shared home directory for all Jira nodes

jira.shared.home = /app/atlassian/application-data/shared

ehcache.listener.hostName = GLGBLN-ST931512.eu.novartis.net

ehcache.listener.port = 40001

ehcache.object.port = 40011 

Made sure the FQDN is added to the cluster.properties file. By this the Cluster Cache replication issue solved,

No comments :

Post a Comment