JIRA datacenter Load Balancer

Vanith Murugesan September 19, 2016

Hello,

I have installed JIRA datacenter edition (v7.1.9) on SLES 11SP3 on 2 servers and am able to login to both the systems separately.  I am using Apache to configure the reverse proxy / load balancer to access the JIRA but can't able to get the login page loaded.  The Apache XML configuration that we use accepts numbers (0, 1) for the session where as JIRA configuration uses node1 and node2.  Because of this the JSESSIONID is appended with node1 and node2 where the Apache XML can't forward the requests and getting page not found or dead link found errors.  How and where should we change the node names in the JIRA configuration?  I changed the node entries in the 'cluster.properties' file with no luck.  Any information to resolve this would be helpful.

Thanks,

Vanith

2 answers

0 votes
Vanith Murugesan September 19, 2016

Hello Noam,

Thank you for your response.  

The XML Apache configuration that we use accepts only numbers (0,1) where as the JIRA documentation uses characters (node1, node2).  

 <Proxy balancer://jiracluster>
                # JIRA node 1
                BalancerMember http://jira1.internal.atlassian.com:8080 route=node1
                # JIRA node 2  Commented pending node installation
                # BalancerMember http://jira2.internal.atlassian.com:8080 route=node2


As of my knowledge we specify the node ID in the cluster. properties files only.  I don't know if any other files will have the node ID listed where we can update the details.  
Noticed the second balancer member is commented in this configuration.  Not sure if that was a typo or it should be commented out and should enable only when the node1 is unavailable.  
Also should we add another application or proxy balancer (say Confluence) in the configuration files.  Just adding another proxy balancer (balancer://confluencecluster)  will do or should we have make more changes to the configuration files.  
Appreciate your time and inputs.
Thanks.
noamdah
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
September 19, 2016

Yes it should not be commented.

I did not have an issue configuring BalancerMember  route to node1 and node2:

BalancerMember http://jira1:8080 route=node1
BalancerMember http://jira2:8080 route=node2

(Check out this link on this)(Sorry i couldn't be more of help but i did not run into any issues on Apache and on F5 when setting the route value to node1 or node2)

Adding another proxy balancer (balancer://confluencecluster)  will work.

 

Also i recommend adding monitoring to the vip (for Confluence and Jira):

http://<url>/status

0 votes
noamdah
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
September 19, 2016

Configure your cluster.properties files back to point to node1 and node2 this is the best practise.

Check out this link on JIRA data center load balancer configurations.

Here is an example of the Apache httpd configuration:

&lt;VirtualHost *:80&gt;
        ProxyRequests off
 
        ServerName MyCompanyServer
 
        &lt;Proxy balancer://jiracluster&gt;
                # JIRA node 1
                BalancerMember http://jira1.internal.atlassian.com:8080 route=node1
                # JIRA node 2  Commented pending node installation
                # BalancerMember http://jira2.internal.atlassian.com:8080 route=node2
 
                # Security "we aren't blocking anyone but this the place to make those changes
                Order Deny,Allow
                Deny from none
                Allow from all
 
                # Load Balancer Settings
                # We are not really balancing anything in this setup, but need to configure this
                ProxySet lbmethod=byrequests
                ProxySet stickysession=JSESSIONID
        &lt;/Proxy&gt;
 
        # Here's how to enable the load balancer's management UI if desired
        &lt;Location /balancer-manager&gt;
                SetHandler balancer-manager
 
                # You SHOULD CHANGE THIS to only allow trusted ips to use the manager
                Order deny,allow
                Allow from all
        &lt;/Location&gt;
 
        # Don't reverse-proxy requests to the management UI
        ProxyPass /balancer-manager !
        # Reverse proxy all other requests to the JIRA cluster
        ProxyPass / balancer://jiracluster/
        ProxyPreserveHost on
&lt;/VirtualHost&gt;

Suggest an answer

Log in or Sign up to answer