Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Load balancing CAS, uPortal and Sakai CLE

Load balancing CAS, uPortal and Sakai CLE

Share how UC Merced had used Apache for load balancing, then moved to BigIP's F5 appliance.
#apereo13

Benito Gonzalez

June 06, 2013
Tweet

More Decks by Benito Gonzalez

Other Decks in Technology

Transcript

  1. June 06, 2013 7 Apache Tomcat Tomcat Tomcat Tomcat Apache

      Tomcat Tomcat 7 Thursday, June 6, 13
  2. June 06, 2013 8 Connec.on Source  (169.236) Target  (169.236) Open

     HTTP Any .253.52:80 Open  HTTPS Any .253.52:443 Apache  to  Tomcat1 .253.52:* .253.52:8080 Apache  to  Tomcat2 .253.52:* .253.37:80 Apache  to  Tomcat3 .253.52:* .253.196:80 Connec.ons:  IPs  and  ports 8 Thursday, June 6, 13
  3. June 06, 2013 $ nc -zw 2 169.236.253.37 8080 Connection

    to 169.236.253.37 8080 port [tcp/*] succeeded! $ Target console $ nc -l 8080 $ Trust but verify (connectivity) 9 Source console 9 Thursday, June 6, 13
  4. June 06, 2013 Community • Mailing List – http://www.jasig.org/uportal/mailing-lists –

    http://www.jasig.org/cas/mailing-lists – http://collab.sakaiproject.org/mailman/listinfo • Online Documentation – https://wiki.jasig.org/display/UPC/Home – https://wiki.jasig.org/display/CASUM/Home – https://confluence.sakaiproject.org/display/DOC/ Documentation 10 10 Thursday, June 6, 13
  5. June 06, 2013 Tomcat 13 •Install  the  JDK •Install  Tomcat

     from  hNp://tomcat.apache.org •Run  it  to  make  sure  it’s  working •Edit  conf/server.xml        <Connector  port="7789"  minSpareThreads="5"  maxThreads="800"                protocol="AJP/1.3"  redirectPort="8443"                enableLookups="false"  connec.onTimeout="10000"          /> 13 Thursday, June 6, 13
  6. June 06, 2013 14 mod_jk Installing  apache  and  mod_jk... Ubuntu:

     sudo apt-get install libapache2-mod-jk RHEL:  yum ... -­‐-­‐  [Google  it] 14 Thursday, June 6, 13
  7. June 06, 2013 mod_jk workers.properties 15 worker.list=loadbalancer,jkstatus #  Proper.es  for

     worker1 worker.tomcat1.port=7789 worker.tomcat1.host=up6.ucmerced.edu worker.tomcat1.type=ajp13 worker.tomcat1.lbfactor=10 worker.tomcat1.connec.on_pool_size=1 #  Proper.es  for  worker2 worker.tomcat2.port=7789 worker.tomcat2.host=up7.ucmerced.edu worker.tomcat2.type=ajp13 worker.tomcat2.lbfactor=20 worker.tomcat2.connec.on_pool_size=1 15 Thursday, June 6, 13
  8. June 06, 2013 mod_jk workers.properties (cont.) 16 worker.loadbalancer.type=lb worker.loadbalancer.balanced_workers=tomcat4,tomcat3,tomcat2,tomcat1 #worker.loadbalancer.balanced_workers=tomcat4,tomcat3,tomcat2

    #worker.loadbalancer.balanced_workers=tomcat3,tomcat2,tomcat1 #worker.loadbalancer.balanced_workers=tomcat2,tomcat1 #worker.loadbalancer.balanced_workers=tomcat4 worker.loadbalancer.s.cky_session=1 #  status  worker worker.jkstatus.type=status “worker.list=loadbalancer,jkstatus”  from  top  of  file 16 Thursday, June 6, 13
  9. June 06, 2013 17 LoadModule jk_module "<path_to_lib>/mod_jk.so" <IfModule mod_jk.c> JkWorkersFile

    "<path_to_apache_config>/workers.properties" JkLogFile "|<path_to_apache_bin>/rotatelogs <path_to_apache_logs>/mod_jk.log 86400" JkLogLevel error JkLogStampFormat "[%a %b %d %H:%M:%S %Y]" JkRequestLogFormat "%w %V %T %U %q" JkMount /uPortal* loadbalancer JkMount /uPortal/* loadbalancer JkUnMount /uPortal/media/* loadbalancer JkMount /ResourceServingWebapp/* loadbalancer JkMount /portal_comm_0_1/* loadbalancer JkMount /Announcements/* loadbalancer JkMount /WeatherPortlet/* loadbalancer <Location /jkmanager/> JkMount jkstatus Order deny,allow Deny from all Allow from 169.236.10.91 Allow from 169.236.11.24 Allow from 169.236.250.48/28 </Location> </IfModule> 17 Thursday, June 6, 13
  10. June 06, 2013 Issues 19 ✦  Crashed  once  every  6

     months ✦  Wedged  tomcat  would  break  Apache ✦  AJP  protocol  doesn’t  like  big  payloads 19 Thursday, June 6, 13