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,
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.
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.
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
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