Skip to Content

·  Download and Install of Apache and Mod_jk

No Apache HTTPD 64 bit availability: http://wiki.apache.org/httpd/FAQ

In the Information for Windows User, it is recommended that 2.2 Apache HTTPD is the most stable version on Windows:

Apache1.png

Apache1.png

mod_jk download: Link http://tomcat.apache.org/download-connectors.cgi

·        Apache HTTPD and mod_jk installation:

Run the Apache .msi file you downloaded above. The installation will ask you for these things:

Apache1.png

Click Next..      

Select I accept and Click Next..

               

Details of each option on Next Page

1.       Network Domain: Enter the DNS domain in which your server is or will be registered in. For example, if your server’s full DNS name is server.mydomain.net, you would type mydomain.net here.

2.       Server Name: Your server’s full DNS name. From the example above, you would type server.mydomain.net here.

3.       Administrator’s Email Address: Enter the server administrator’s or webmaster’s email address here. This address will be displayed along with error messages to the client by default.

4.       For whom to install Apache Select for All Users, on Port 80, as a Service – Recommended if you’d like your new Apache to listen at port 80 for incoming traffic. It will run as a service (that is, Apache will run even if no one is logged in on the server at the moment) Select only for the Current User, on Port 8080, when started Manually if you’d like to install Apache for your personal experimenting or if you already have another WWW server running on port 80.

5.       The installation type. Select Typical for everything except the source code and libraries for module development. With Custom you can specify what to install. A full install will require about 13 megabytes of free disk space. This does not include the size of your web site(s).

6.       Where to install. The default path is C:\Program Files\Apache Software Foundation under which a directory called Apache2.2 will be created by default. You may specify any other Path here               

Apache1.png

Click Next..

Apache1.png

The installation has completed successfully. You will see the Apache in All Programs list

·        Installation of Mod_jk

There is no installation or no executable required. We just need to copy mod_jk from the download directory to the new Apache (modules) Directory.

Apache1.png

·        Configuration of Tomcat

  1. Server.xml

I.           

  1: Apache1.png

2:

III.          2:Apache1.png

s

sssss      3:  Apache1.png

  

·  Worker.Properties configuration:

We need to create this file in conf directory of Apache with below lines

———————————————————————

  1. worker.list=balancer
  2. worker.worker1.port=8009
  3. worker.worker1.host=<Tomcat 1 IP Address>
  4. worker.worker1.type=ajp13
  5. worker.worker1.lbfactor=1
  6. worker.worker2.port=8009
  7. worker.worker2.host=<Tomcat 2 IP Address>
  8. worker.worker2.type=ajp13
  9. worker.worker2.lbfactor=1
  10. worker.balancer.type=lb
  11. worker.balancer.balance_workers=worker1,worker2
  12. worker.balancer.method=B
  13. Worker.balancer.sticky_session=True

———————————————————————

·    Httpd.conf configuration: Add below given entries

———————————————————————

LoadModule    jk_module  modules/mod_jk.so

JkWorkersFile “<Installation Directory>/Apache Software Foundation/Apache2.2/conf/workers.properties”

JkLogFile “<Installation Directory>/Apache Software Foundation/Apache2.2/mod_jk.log”

JkLogLevel debug

JkLogStampFormat “[%a %b %d %H:%M:%S %Y] “

JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories

JkMount /* balancer

———————————————————————

·   Web.xml configuration for BusinessObjects Session serialization:

The entry of distributable=true needs to be manually done. <BI 4.0 Install Home directory>\Tomcat6\webapps\BOE\WEB-INF\web.xml

Apache1.png

Restart Apache

Tomcat Load Balancing now is configured.

To report this post you need to login first.

24 Comments

You must be Logged on to comment or reply to a post.

      1. Bharathi Bodapati

        Hi Animesh ,

        Currently – we are using BO 4.1 SP4 patch 2.


        Load Balancer – DNS Roundrobin


        when load balancer url is used we are getting the below error.


        After a few minutes of being logged in to BI Launch pad or CMC users get the following error:

        “HTTP Status 500 – java.lang.RuntimeException: org.apache.jasper.JasperException: java.lang.NullPointerException: while trying to invoke the method

        com.businessobjects.bip.core.web.appcontext.AppWebSessionContext.getLangDirection() of a null object returned from

        com.businessobjects.bip.core.web.appcontext.RequestInfo.getSesCtx()”

        Could you please let me know what could be the issue or how can I debug this issue.

        I apreciate your help.

        Thanks,

        Bharathi.

        (0) 
        1. Joe Peters

          We had the same problem — turns out our load balancer had a 15-minute timeout by default.  We increased it to 90 minutes and the problem went away.

          (0) 
              1. Bharathi Bodapati

                We are using DNS Round Robin and the admin team is not able to resolve the above issue.

                they are saying session persistence is not available with DNS Round Robin.We can not do sticky sessions on DNS Round robin.

                This is the resolution we got from SAP Suport:

                Configure load balancer with sticky sessions with persistence setting set to appropriate value. The default persistence setting is only 2 minutes, which should be  higher, for example 1 hour.

                (0) 
                1. Denis Konovalov

                  you can’t use simple DNS round robin if you can’t set session persistence. That’s the final answer and the truth.
                  You need to find a way to setup load balancing with ability to set session persistence.
                  Either with hardware load balancer, or use a web server as load balancer (Apache for example).
                  there is no other choice.

                  (0) 
                  1. Bharathi Bodapati

                    Hi Denis ,

                    As DNS Round Robin is not working because of session persisence issues. Now Team has proposed new solution to use

                    Windows cluster (NLB). I am not familiar with Supported BOBJ Load balancers. Can you please help me understanding is that a suggested load balancer for BOBJ?


                    We are looking for Cost effective and supported configurations without any issues.


                    Thanks,

                    Bharathi.

                    (0) 
              2. Bharathi Bodapati

                Hi Denis ,

                As DNS Round Robin is not working because of session persisence issues. Now Team has proposed new solution to use

                Windows cluster (NLB). I am not familiar with Supported BOBJ Load balancers. Can you please help me understanding is that a suggested load balancer for BOBJ?


                We are looking for Cost effective and supported configurations without any issues.


                Thanks,

                Bharathi.

                (0) 
                1. Denis Konovalov

                  reading about Microsoft cluster here : Windows Clustering: Network Load Balancing (NLB); Clustering Services
                  that looks like a total overkill and not exactly what should be used to balance simple web requests to web app servers, but if your team knows this product and it can do web session persistence – sure, you can use it.

                  We do not have a list of supported load balancers because there are too many on the market and we can’t evaluate all.
                  Some of the ones most often used with our product are BIG IP, Apache web server, Netscaler …

                  There is no preference for our product on which LB to use.

                  The only requirement – it has to support session persistence (cookie or source IP based) – that’s it.

                  (0) 
                  1. Bharathi Bodapati

                    Thanks Denis for the useful information .

                    Currently – we are using BO 4.1 SP4 patch 2. Can you please let me know what is the load balancer configured in your project? and do you see any issues with it?

                    (0) 
                  2. Bharathi Bodapati

                    Hi Denis ,

                    Based on your comments , I communicated same thing with the team and here is the one they proposed

                    Load Balancer A10


                    But I asked for apache web server .


                    Thanks,

                    Bharathi.

                    (0) 
                  3. Bharathi Bodapati

                    Hi Denis ,

                    Could you please help me here.

                    I came to know that F5,BIG IP load balancers are not available from the vendor . So they mentioned they can support something similar to the F5,BIG IP which is Load Balancer A10.  I also found out they can even do Apache webserver configuration.

                    So Can you please let me know if using Apache webserver , do you see any issues or is it good to go with solution.

                    http://blog.search-computing.net/2010/04/load-balancing-with-apache-a-tutorial-on-mod_proxy_balancer-installation-and-configuration/


                    https://www.mulesoft.com/tcat/tomcat-clustering


                    Thanks,

                    Bharathi.

                    (0) 
                    1. Joe Peters

                      That’s what this article is about 🙂

                      But note that Apache is a software load balancer as opposed to F5 which is hardware.

                      (0) 
    1. Bhanu Pamu

      Have you enabled ‘node’ configuration in Tomcat as well ? That is required for failover ?

      – Also have you tried mod_proxy for testing fail over scenario ?

      (0) 
  1. JeanPierre Matsumoto

    For the ReplicationValve, the filter should be kept empty as documented in SAP KBA  1529429. You don’t know if BOE webapps use *.html path with behind a change in session.

    Hope this helps

    Jean-Pierre

    (0) 

Leave a Reply