SlideShare una empresa de Scribd logo
1 de 33
Cluster Overview and PLF Cluster
Basic notions, configuration, common errors and current status




                                      TRAN Trung Thanh, PLF/MQ
                                                        March 2012
Agenda (1)


 1   Cluster Introduction
     - Cluster, What's it?

     - Why cluster?


 2
     Basic configuration
     - Basic cluster infrastructure with load balancing
     - Two-node PLF cluster


 3
     Advanced configuration

     - Hot spare server

     - Asymmetric load


 4
     PLF cluster current status

     - Story

     - Bugs relating to configuration

     - Bugs in the implementation
                    www.exoplatform.com - Copyright 2012 eXo Platform   2
Agenda (2)


     Conclusion and Perspective


     Q&A




                www.exoplatform.com - Copyright 2012 eXo Platform   3
Agenda


1   Cluster Introduction
    - Cluster, What's it?

    - Why cluster?


2
    Basic configuration
    - Basic cluster infrastructure with load balancing
    - Two-node PLF cluster


3
    Advanced configuration

    - Hot spare server

    - Asymmetric load


4
    PLF cluster current status

    - Story

    - Bugs relating to configuration

    - Bugs in the implementation
                   www.exoplatform.com - Copyright 2012 eXo Platform   4
Cluster, What is it?

− High scalable and high available virtual server
− Fully transparent to end user




                            Basic Cluster Infrastructure


                  www.exoplatform.com - Copyright 2012 eXo Platform   5
Why cluster? (1)

− Challenges
   − Increase dramatically the traffic of Internet ( annual rate > 100%)
   − Increase rapidly workload of servers
   − Enhance the availability of servers

− Solutions
   − Upgrade the software/hardware of servers
   − Multi-server
        −   Cluster
        −   Grid
        −   Cloud




                      www.exoplatform.com - Copyright 2012 eXo Platform    6
Why cluster? (2)

− Cluster Notions
   − Scalability
   − Load Balancing
       −   Load Balancing with an appliance
       −   Load Balancing with a software/hardware combination
            
                mod_proxy, mod_jk, mod_cluster
   − High Availability




                    www.exoplatform.com - Copyright 2012 eXo Platform   7
Agenda


1   Cluster Introduction
    - Cluster, What's it?

    - Why cluster?


2
    Basic configuration
    - Basic cluster infrastructure with load balancing
    - Two-node PLF cluster


3
    Advanced configuration

    - Hot spare server

    - Asymmetric load


4
    PLF cluster current status

    - Story

    - Bugs relating to configuration

    - Bugs in the implementation
                   www.exoplatform.com - Copyright 2012 eXo Platform   8
Basic Cluster Infrastructure with load balancing




               www.exoplatform.com - Copyright 2012 eXo Platform   9
Two-node PLF cluster

− Load Balancer: mod_jk
− Server cluster: 2 nodes ( 2
  instances of PLF in same
  machine or in 2 distinguished
  machines)
− Shared Storage:
   − NFS: indexing data, key
      for gadget
   − DB server: shared PLF
      data




                   www.exoplatform.com - Copyright 2012 eXo Platform   10
Mod_jk(1)

− Connector used to connect the Tomcat Servlet Container with Web
  Servers
− Use AJP (Apache Jserv Protocol)
− Roles
   − Load the servlet container adapter library and initialize it (prior to
     serving requests)
   − Check and redirect requests to servlet to handle it




                    www.exoplatform.com - Copyright 2012 eXo Platform         11
Mod_jk(2)
− mod_jk configuration step-by-step
   − Install apache
   − Add mod_jk modules to apache
   − Configure mod_jk parameters in apache configuration (httpd.conf)
   − Assign URL to apache
        −   JkMount <URL prefix> <Worker name>
   − Configure worker properties: IP, port for AJP, hostname




                    www.exoplatform.com - Copyright 2012 eXo Platform   12
PLF cluster configuration(1)
− Notes
   − Use profile all to deploy PLF server in cluster mode
   − PLF user external connector to connect DB
         −   Need to add a external connector if necessary
− Configure datasource
    − Config target
    $TOMCAT_HOME/conf/server.xml (tomcat server)
        $JBOSS_HOME/server/all/gatein-ds.xml (jboss server).

    − Parameters
         −   User name/password, connector, database address




                      www.exoplatform.com - Copyright 2012 eXo Platform   13
PLF cluster configuration(2)
− Configure NFS
    
        Config target
         −   $TOMCAT_HOME/conf/server.xml (tomcat server)
         −   $JBOSS_HOME/server/all/deploy/jbossweb.sar/server.xml (jboss
             server)
− Configure AJP route
    − Config target
         −   $TOMCAT_HOME/gatein/conf/configuration.properties (tomcat server)
         −   $JBOSS_HOME/server/all/conf/gatein/configuration.properties (jboss
             server)

    − Parameters
         −   Add JVM Route to mark the name of server used by mod_jk




                      www.exoplatform.com - Copyright 2012 eXo Platform           14
PLF cluster configuration(3)
− Activate PLF configuration
    
        Tomcat
         −   Switch jcr mode to cluster
         −   Add profile cluster to eXo Profile
         −   Add preferIPv4Stack parameter to route message for synchronized
    
        Jboss
         −   Switch jcr mode to cluster
         −   Add profile cluster to eXo Profile
         −   Add preferIPv4Stack parameter to route message for synchronized
         −   Activate Cluster Single On




                       www.exoplatform.com - Copyright 2012 eXo Platform       15
PLF cluster configuration(4)
− Start PLF
    
          Tomcat
        ./start_eXo.sh
    
          Jboss
        bin/run.sh -g MyClusterPartition -b IP_NODE -c all




                         www.exoplatform.com - Copyright 2012 eXo Platform   16
PLF cluster configuration(5)
− Verify cluster
    
        In console, when a new member is added or any downs
    INFO [MyClusterPartition] Dead members: 0 ([])
    INFO [MyClusterPartition] New Members : 1 ([127.0.0.1:1099])
    INFO [MyClusterPartition] All Members : 2 ([127.0.0.1:1199,
       127.0.0.1:1099])




                   www.exoplatform.com - Copyright 2012 eXo Platform   17
PLF cluster configuration(6)
− Common errors in configuring and use cluster mode
    
        Error on connection to DB server
         −   Lack of connector in lib
               
                   Add connector
         −   Wrong database address parameters
               
                   Verify database parameters
         −   DB isn't set to accept remote access
               
                   Configure to accept remote access
    
        Indexing data and database aren't matched
         −   Remove indexing data and database if possible




                       www.exoplatform.com - Copyright 2012 eXo Platform   18
Agenda


1   Cluster Introduction
    - Cluster, What's it?

    - Why cluster?


2
    Basic configuration
    - Basic cluster infrastructure with load balancing
    - Two-node PLF cluster


3
    Advanced configuration

    - Hot spare server

    - Asymmetric load


4
    PLF cluster current status

    - Story

    - Bugs relating to configuration

    - Bugs in the implementation
                   www.exoplatform.com - Copyright 2012 eXo Platform   19
Advanced Configuration(1)

− Hot Spare server
 l
     Failover mechanism to provide reliability
 l
     A key component fails, the hot spare is switched into
     operation




                     www.exoplatform.com - Copyright 2012 eXo Platform   20
Advanced configuration(2)
− Hot spare configuration
   − Set hot spare server for main server
       # Define preferred failover node for plfnode1

       worker.plfnode1.redirect=plfnode2

   − Deactivate hot spare server
      # Disable plfnode2 for all requests except failover

      worker.plfnode2.activation=disabled




                     www.exoplatform.com - Copyright 2012 eXo Platform   21
Advanced Configuration(3)

•Asymmetric load
  l
    User to divide the workload among servers
  l
    Use lbfactor for each server
   worker.plfnode1.lbfactor=2
   worker.plfnode2.lbfactor=8




                    www.exoplatform.com - Copyright 2012 eXo Platform   22
Agenda


1   Cluster Introduction
    - Cluster, What's it?

    - Why cluster?


2
    Basic configuration
    - Basic cluster infrastructure with load balancing
    - Two-node PLF cluster


3
    Advanced configuration

    - Hot spare server

    - Asymmetric load


4
    PLF cluster current status

    - Story

    - Bugs relating to configuration

    - Bugs in the implementation
                   www.exoplatform.com - Copyright 2012 eXo Platform   23
Story

− Support cluster from PLF 3.0.x
   − EPP SP 5.1.x in cluster mode with RedHat
   − Lack of test and of evaluation in PLF 3.0.x
− Support fully cluster mode from PLF 3.5.1
    − FQA test campaign for cluster
− Cluster configuration changes from PLF 3.0.x to 3.5.x
    − Use shared file-system for security token store (EXOGTN-237)
    − Reconfigure the parameters for cluster mode (PLF-630)




                    www.exoplatform.com - Copyright 2012 eXo Platform   24
Bugs relating to configuration

− Too many warnings on console
   − Related issue: PLF-2652
   − Description: Too many warning on console repeatedly
   − Workaround: Hide log
        −   Tomcat: Add to conf/logging.properties
             org.jgroups.level = ERROR
             org.jgroups.handlers=


  java.util.logging.ConsoleHandler,6gatein.org.apache.juli.FileHandler
       - Jboss: Add to server/all/conf/jboss-log4j.xml
             <category name="org.jgroups">
              <priority value="ERROR"/>
       </category>

                     www.exoplatform.com - Copyright 2012 eXo Platform   25
Bugs relating to configuration(2)

− Replication time out
   − Related issue: PLF-2752
   − Description: Replication Timeout console on running PLF in
     cluster mode with multi instances
   − Workaround: Increase Replication Timeout




                  www.exoplatform.com - Copyright 2012 eXo Platform   26
Bugs in implementation(1)

− Lack of Synchronized function
   − Related issue: ECMS-2324
   − Description: Job runs only on a server
     → Another job try to access the resource using by another job

   − Suggested Solution: Synchronize functions. At one time, only a
      thread access a resource




                  www.exoplatform.com - Copyright 2012 eXo Platform   27
Bugs in implementation(2)

− Cache problem
   − Related issue: ECMS-3337, SOC-1368, EXOGTN-978
   − Description: To increase performance, the local cache is
      implemented. Cache among another nodes isn't synchronized
     → Cannot see update in other nodes or some objects are
  unavailable.

   − Suggested: Solution: Only use cache for necessary cases. Evict
      cache immediately if the changes have to take effect on cluster
      nodes.




                   www.exoplatform.com - Copyright 2012 eXo Platform    28
Bugs in implementation(3)

− Problem with login session
   − Related issue: EXOGTN-943, PLF-2730
   − Description: The user login session isn't well shared among
      servers in cluster.
     → Problem 1: Cannot relogin after a login failure
      → Problem 2: When a instance fails, all clients using it have to relogin.

   − Suggested Solution: Broadcast user login session among servers
      in cluster




                     www.exoplatform.com - Copyright 2012 eXo Platform            29
Agenda


    Conclusion and Perspective


    Q&A




               www.exoplatform.com - Copyright 2012 eXo Platform   30
Conclusion and Perspective

− Conclusion
   − PLF supports quite well in cluster mode
   − There are some problems in cluster mode
− Perspective
   − Use mod_cluster for cluster configuration
   − Organize server in many groups. Among in a group, all server
      shared the same session




                  www.exoplatform.com - Copyright 2012 eXo Platform   31
References

Admin guide for PLF 3.5

Install cluster mode by Nghi TQA

http://www.mulesoft.com/tomcat-cluster

http://msdn.microsoft.com/en-us/library/ff649250.aspx

http://tldp.org/HOWTO/openMosix-HOWTO/x135.html

http://www.linuxvirtualserver.org/whatis.html

http://www.sql-server-performance.com/2002/clustering-intro/

http://docs.oracle.com/cd/E14049_01/doc.9101/e14046/jboss_cluster.htm#BGBGDCHD

http://oddthesis.org/posts/2008-12-jboss-and-mod_cluster/

http://vinaytechs.blogspot.com/2009/11/clustering-in-jboss-application-server.html

http://www.webopedia.com/TERM/C/clustering.html



                          www.exoplatform.com - Copyright 2012 eXo Platform          32
Q&A




      www.exoplatform.com - Copyright 2012 eXo Platform   33

Más contenido relacionado

La actualidad más candente

Echi Converter Presentation External
Echi Converter Presentation ExternalEchi Converter Presentation External
Echi Converter Presentation Externalguestc3b49e
 
Tomcat Clustering
Tomcat ClusteringTomcat Clustering
Tomcat Clusteringgouthamrv
 
Apache Performance Tuning: Scaling Out
Apache Performance Tuning: Scaling OutApache Performance Tuning: Scaling Out
Apache Performance Tuning: Scaling OutSander Temme
 
RPM (Red Hat Package Manager)
RPM (Red Hat Package Manager)RPM (Red Hat Package Manager)
RPM (Red Hat Package Manager)skalaivanibutp
 
25 Apache Performance Tips
25 Apache Performance Tips25 Apache Performance Tips
25 Apache Performance TipsMonitis_Inc
 
101 2.5 use rpm and yum package management
101 2.5 use rpm and yum package management101 2.5 use rpm and yum package management
101 2.5 use rpm and yum package managementAcácio Oliveira
 
AIX Advanced Administration Knowledge Share
AIX Advanced Administration Knowledge ShareAIX Advanced Administration Knowledge Share
AIX Advanced Administration Knowledge Share.Gastón. .Bx.
 
Software Packaging with RPM
Software Packaging with RPMSoftware Packaging with RPM
Software Packaging with RPMSchalk Cronjé
 
PostgreSQL High Availability via SLONY and PG POOL II
PostgreSQL High Availability via SLONY and PG POOL IIPostgreSQL High Availability via SLONY and PG POOL II
PostgreSQL High Availability via SLONY and PG POOL IICommand Prompt., Inc
 
Software management in linux
Software management in linuxSoftware management in linux
Software management in linuxnejadmand
 
[India Merge World Tour] Meru Networks
[India Merge World Tour] Meru Networks[India Merge World Tour] Meru Networks
[India Merge World Tour] Meru NetworksPerforce
 
Apache Tomcat 8 Application Server
Apache Tomcat 8 Application ServerApache Tomcat 8 Application Server
Apache Tomcat 8 Application Servermohamedmoharam
 
C mode class
C mode classC mode class
C mode classAccenture
 

La actualidad más candente (19)

Echi Converter Presentation External
Echi Converter Presentation ExternalEchi Converter Presentation External
Echi Converter Presentation External
 
EMEA Airheads- LACP and distributed LACP – ArubaOS Switch
EMEA Airheads- LACP and distributed LACP – ArubaOS SwitchEMEA Airheads- LACP and distributed LACP – ArubaOS Switch
EMEA Airheads- LACP and distributed LACP – ArubaOS Switch
 
Tomcat Clustering
Tomcat ClusteringTomcat Clustering
Tomcat Clustering
 
Rac on NFS
Rac on NFSRac on NFS
Rac on NFS
 
Apache Performance Tuning: Scaling Out
Apache Performance Tuning: Scaling OutApache Performance Tuning: Scaling Out
Apache Performance Tuning: Scaling Out
 
Yum (Linux)
Yum (Linux) Yum (Linux)
Yum (Linux)
 
RPM (Red Hat Package Manager)
RPM (Red Hat Package Manager)RPM (Red Hat Package Manager)
RPM (Red Hat Package Manager)
 
12 yum
12  yum12  yum
12 yum
 
25 Apache Performance Tips
25 Apache Performance Tips25 Apache Performance Tips
25 Apache Performance Tips
 
101 2.5 use rpm and yum package management
101 2.5 use rpm and yum package management101 2.5 use rpm and yum package management
101 2.5 use rpm and yum package management
 
AIX Advanced Administration Knowledge Share
AIX Advanced Administration Knowledge ShareAIX Advanced Administration Knowledge Share
AIX Advanced Administration Knowledge Share
 
Software Packaging with RPM
Software Packaging with RPMSoftware Packaging with RPM
Software Packaging with RPM
 
PostgreSQL High Availability via SLONY and PG POOL II
PostgreSQL High Availability via SLONY and PG POOL IIPostgreSQL High Availability via SLONY and PG POOL II
PostgreSQL High Availability via SLONY and PG POOL II
 
Software management in linux
Software management in linuxSoftware management in linux
Software management in linux
 
[India Merge World Tour] Meru Networks
[India Merge World Tour] Meru Networks[India Merge World Tour] Meru Networks
[India Merge World Tour] Meru Networks
 
RPM (LINUX)
RPM (LINUX)RPM (LINUX)
RPM (LINUX)
 
Apache Tomcat 8 Application Server
Apache Tomcat 8 Application ServerApache Tomcat 8 Application Server
Apache Tomcat 8 Application Server
 
C mode class
C mode classC mode class
C mode class
 
RHCE Training
RHCE TrainingRHCE Training
RHCE Training
 

Similar a Cluster mode and plf cluster

My First 100 days with an Exadata (PPT)
My First 100 days with an Exadata (PPT)My First 100 days with an Exadata (PPT)
My First 100 days with an Exadata (PPT)Gustavo Rene Antunez
 
Flink Forward Berlin 2017: Patrick Lucas - Flink in Containerland
Flink Forward Berlin 2017: Patrick Lucas - Flink in ContainerlandFlink Forward Berlin 2017: Patrick Lucas - Flink in Containerland
Flink Forward Berlin 2017: Patrick Lucas - Flink in ContainerlandFlink Forward
 
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*Install FD.IO VPP On Intel(r) Architecture & Test with Trex*
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*Michelle Holley
 
[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...
[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...
[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...OpenStack Korea Community
 
Integrating Active Networking and Commercial-Grade Routing Platforms
Integrating Active Networking and Commercial-Grade Routing PlatformsIntegrating Active Networking and Commercial-Grade Routing Platforms
Integrating Active Networking and Commercial-Grade Routing PlatformsTal Lavian Ph.D.
 
An introduction into Oracle VM V3.x
An introduction into Oracle VM V3.xAn introduction into Oracle VM V3.x
An introduction into Oracle VM V3.xMarco Gralike
 
Training Slides: Advanced 304: Upgrading From Native MySQL Replication To Tun...
Training Slides: Advanced 304: Upgrading From Native MySQL Replication To Tun...Training Slides: Advanced 304: Upgrading From Native MySQL Replication To Tun...
Training Slides: Advanced 304: Upgrading From Native MySQL Replication To Tun...Continuent
 
Flex your Database on 12c's Flex ASM Flex Cluster
Flex your Database on 12c's Flex ASM Flex ClusterFlex your Database on 12c's Flex ASM Flex Cluster
Flex your Database on 12c's Flex ASM Flex ClusterALI ANWAR, OCP®
 
Flex Your Database on 12c's Flex ASM and Flex Cluster
Flex Your Database on 12c's Flex ASM and Flex ClusterFlex Your Database on 12c's Flex ASM and Flex Cluster
Flex Your Database on 12c's Flex ASM and Flex ClusterMaaz Anjum
 
Fastsocket Linxiaofeng
Fastsocket LinxiaofengFastsocket Linxiaofeng
Fastsocket LinxiaofengMichael Zhang
 
Introduction to Apache Tomcat 7 Presentation
Introduction to Apache Tomcat 7 PresentationIntroduction to Apache Tomcat 7 Presentation
Introduction to Apache Tomcat 7 PresentationTomcat Expert
 
(ATS4-PLAT01) Core Architecture Changes in AEP 9.0 and their Impact on Admini...
(ATS4-PLAT01) Core Architecture Changes in AEP 9.0 and their Impact on Admini...(ATS4-PLAT01) Core Architecture Changes in AEP 9.0 and their Impact on Admini...
(ATS4-PLAT01) Core Architecture Changes in AEP 9.0 and their Impact on Admini...BIOVIA
 
Hardware accelerated switching with Linux @ SWLUG Talks May 2014
Hardware accelerated switching with Linux @ SWLUG Talks May 2014Hardware accelerated switching with Linux @ SWLUG Talks May 2014
Hardware accelerated switching with Linux @ SWLUG Talks May 2014Nat Morris
 
Doag data replication with oracle golden gate: Looking behind the scenes
Doag data replication with oracle golden gate: Looking behind the scenesDoag data replication with oracle golden gate: Looking behind the scenes
Doag data replication with oracle golden gate: Looking behind the scenesTrivadis
 
Benchmark emc vnx7500, emc fast suite, emc snap sure and oracle rac on v-mware
Benchmark   emc vnx7500, emc fast suite, emc snap sure and oracle rac on v-mwareBenchmark   emc vnx7500, emc fast suite, emc snap sure and oracle rac on v-mware
Benchmark emc vnx7500, emc fast suite, emc snap sure and oracle rac on v-mwaresolarisyougood
 
Runos OpenFlow Controller (eng)
Runos OpenFlow Controller (eng)Runos OpenFlow Controller (eng)
Runos OpenFlow Controller (eng)Alexander Shalimov
 
Oracle RAC Presentation at Oracle Open World
Oracle RAC Presentation at Oracle Open WorldOracle RAC Presentation at Oracle Open World
Oracle RAC Presentation at Oracle Open WorldPaul Marden
 
SDN/OpenFlow #lspe
SDN/OpenFlow #lspeSDN/OpenFlow #lspe
SDN/OpenFlow #lspeChris Westin
 

Similar a Cluster mode and plf cluster (20)

My First 100 days with an Exadata (PPT)
My First 100 days with an Exadata (PPT)My First 100 days with an Exadata (PPT)
My First 100 days with an Exadata (PPT)
 
Juniper Trouble Shooting
Juniper Trouble ShootingJuniper Trouble Shooting
Juniper Trouble Shooting
 
Flink Forward Berlin 2017: Patrick Lucas - Flink in Containerland
Flink Forward Berlin 2017: Patrick Lucas - Flink in ContainerlandFlink Forward Berlin 2017: Patrick Lucas - Flink in Containerland
Flink Forward Berlin 2017: Patrick Lucas - Flink in Containerland
 
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*Install FD.IO VPP On Intel(r) Architecture & Test with Trex*
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*
 
[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...
[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...
[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...
 
Integrating Active Networking and Commercial-Grade Routing Platforms
Integrating Active Networking and Commercial-Grade Routing PlatformsIntegrating Active Networking and Commercial-Grade Routing Platforms
Integrating Active Networking and Commercial-Grade Routing Platforms
 
An introduction into Oracle VM V3.x
An introduction into Oracle VM V3.xAn introduction into Oracle VM V3.x
An introduction into Oracle VM V3.x
 
Training Slides: Advanced 304: Upgrading From Native MySQL Replication To Tun...
Training Slides: Advanced 304: Upgrading From Native MySQL Replication To Tun...Training Slides: Advanced 304: Upgrading From Native MySQL Replication To Tun...
Training Slides: Advanced 304: Upgrading From Native MySQL Replication To Tun...
 
Flex your Database on 12c's Flex ASM Flex Cluster
Flex your Database on 12c's Flex ASM Flex ClusterFlex your Database on 12c's Flex ASM Flex Cluster
Flex your Database on 12c's Flex ASM Flex Cluster
 
Flex Your Database on 12c's Flex ASM and Flex Cluster
Flex Your Database on 12c's Flex ASM and Flex ClusterFlex Your Database on 12c's Flex ASM and Flex Cluster
Flex Your Database on 12c's Flex ASM and Flex Cluster
 
Fastsocket Linxiaofeng
Fastsocket LinxiaofengFastsocket Linxiaofeng
Fastsocket Linxiaofeng
 
Introduction to Apache Tomcat 7 Presentation
Introduction to Apache Tomcat 7 PresentationIntroduction to Apache Tomcat 7 Presentation
Introduction to Apache Tomcat 7 Presentation
 
(ATS4-PLAT01) Core Architecture Changes in AEP 9.0 and their Impact on Admini...
(ATS4-PLAT01) Core Architecture Changes in AEP 9.0 and their Impact on Admini...(ATS4-PLAT01) Core Architecture Changes in AEP 9.0 and their Impact on Admini...
(ATS4-PLAT01) Core Architecture Changes in AEP 9.0 and their Impact on Admini...
 
Hardware accelerated switching with Linux @ SWLUG Talks May 2014
Hardware accelerated switching with Linux @ SWLUG Talks May 2014Hardware accelerated switching with Linux @ SWLUG Talks May 2014
Hardware accelerated switching with Linux @ SWLUG Talks May 2014
 
Cl116
Cl116Cl116
Cl116
 
Doag data replication with oracle golden gate: Looking behind the scenes
Doag data replication with oracle golden gate: Looking behind the scenesDoag data replication with oracle golden gate: Looking behind the scenes
Doag data replication with oracle golden gate: Looking behind the scenes
 
Benchmark emc vnx7500, emc fast suite, emc snap sure and oracle rac on v-mware
Benchmark   emc vnx7500, emc fast suite, emc snap sure and oracle rac on v-mwareBenchmark   emc vnx7500, emc fast suite, emc snap sure and oracle rac on v-mware
Benchmark emc vnx7500, emc fast suite, emc snap sure and oracle rac on v-mware
 
Runos OpenFlow Controller (eng)
Runos OpenFlow Controller (eng)Runos OpenFlow Controller (eng)
Runos OpenFlow Controller (eng)
 
Oracle RAC Presentation at Oracle Open World
Oracle RAC Presentation at Oracle Open WorldOracle RAC Presentation at Oracle Open World
Oracle RAC Presentation at Oracle Open World
 
SDN/OpenFlow #lspe
SDN/OpenFlow #lspeSDN/OpenFlow #lspe
SDN/OpenFlow #lspe
 

Más de adm_exoplatform (14)

Magento
MagentoMagento
Magento
 
E xo mobile_overview_best_practice_in_mobile_application_design
E xo mobile_overview_best_practice_in_mobile_application_designE xo mobile_overview_best_practice_in_mobile_application_design
E xo mobile_overview_best_practice_in_mobile_application_design
 
Advance jquery-plugin
Advance jquery-pluginAdvance jquery-plugin
Advance jquery-plugin
 
Development withforce
Development withforceDevelopment withforce
Development withforce
 
Hadoop
HadoopHadoop
Hadoop
 
Jquery ui
Jquery uiJquery ui
Jquery ui
 
Cmsms
CmsmsCmsms
Cmsms
 
Jquery
JqueryJquery
Jquery
 
Java application server in the cloud
Java application server in the cloudJava application server in the cloud
Java application server in the cloud
 
I os
I osI os
I os
 
Memory and runtime analysis
Memory and runtime analysisMemory and runtime analysis
Memory and runtime analysis
 
Jvm mbeans jmxtran
Jvm mbeans jmxtranJvm mbeans jmxtran
Jvm mbeans jmxtran
 
Git training
Git trainingGit training
Git training
 
Cluster mode and plf cluster
Cluster mode and plf clusterCluster mode and plf cluster
Cluster mode and plf cluster
 

Último

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 

Último (20)

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

Cluster mode and plf cluster

  • 1. Cluster Overview and PLF Cluster Basic notions, configuration, common errors and current status TRAN Trung Thanh, PLF/MQ March 2012
  • 2. Agenda (1) 1 Cluster Introduction - Cluster, What's it? - Why cluster? 2 Basic configuration - Basic cluster infrastructure with load balancing - Two-node PLF cluster 3 Advanced configuration - Hot spare server - Asymmetric load 4 PLF cluster current status - Story - Bugs relating to configuration - Bugs in the implementation www.exoplatform.com - Copyright 2012 eXo Platform 2
  • 3. Agenda (2) Conclusion and Perspective Q&A www.exoplatform.com - Copyright 2012 eXo Platform 3
  • 4. Agenda 1 Cluster Introduction - Cluster, What's it? - Why cluster? 2 Basic configuration - Basic cluster infrastructure with load balancing - Two-node PLF cluster 3 Advanced configuration - Hot spare server - Asymmetric load 4 PLF cluster current status - Story - Bugs relating to configuration - Bugs in the implementation www.exoplatform.com - Copyright 2012 eXo Platform 4
  • 5. Cluster, What is it? − High scalable and high available virtual server − Fully transparent to end user Basic Cluster Infrastructure www.exoplatform.com - Copyright 2012 eXo Platform 5
  • 6. Why cluster? (1) − Challenges − Increase dramatically the traffic of Internet ( annual rate > 100%) − Increase rapidly workload of servers − Enhance the availability of servers − Solutions − Upgrade the software/hardware of servers − Multi-server − Cluster − Grid − Cloud www.exoplatform.com - Copyright 2012 eXo Platform 6
  • 7. Why cluster? (2) − Cluster Notions − Scalability − Load Balancing − Load Balancing with an appliance − Load Balancing with a software/hardware combination  mod_proxy, mod_jk, mod_cluster − High Availability www.exoplatform.com - Copyright 2012 eXo Platform 7
  • 8. Agenda 1 Cluster Introduction - Cluster, What's it? - Why cluster? 2 Basic configuration - Basic cluster infrastructure with load balancing - Two-node PLF cluster 3 Advanced configuration - Hot spare server - Asymmetric load 4 PLF cluster current status - Story - Bugs relating to configuration - Bugs in the implementation www.exoplatform.com - Copyright 2012 eXo Platform 8
  • 9. Basic Cluster Infrastructure with load balancing www.exoplatform.com - Copyright 2012 eXo Platform 9
  • 10. Two-node PLF cluster − Load Balancer: mod_jk − Server cluster: 2 nodes ( 2 instances of PLF in same machine or in 2 distinguished machines) − Shared Storage: − NFS: indexing data, key for gadget − DB server: shared PLF data www.exoplatform.com - Copyright 2012 eXo Platform 10
  • 11. Mod_jk(1) − Connector used to connect the Tomcat Servlet Container with Web Servers − Use AJP (Apache Jserv Protocol) − Roles − Load the servlet container adapter library and initialize it (prior to serving requests) − Check and redirect requests to servlet to handle it www.exoplatform.com - Copyright 2012 eXo Platform 11
  • 12. Mod_jk(2) − mod_jk configuration step-by-step − Install apache − Add mod_jk modules to apache − Configure mod_jk parameters in apache configuration (httpd.conf) − Assign URL to apache − JkMount <URL prefix> <Worker name> − Configure worker properties: IP, port for AJP, hostname www.exoplatform.com - Copyright 2012 eXo Platform 12
  • 13. PLF cluster configuration(1) − Notes − Use profile all to deploy PLF server in cluster mode − PLF user external connector to connect DB − Need to add a external connector if necessary − Configure datasource − Config target $TOMCAT_HOME/conf/server.xml (tomcat server) $JBOSS_HOME/server/all/gatein-ds.xml (jboss server). − Parameters − User name/password, connector, database address www.exoplatform.com - Copyright 2012 eXo Platform 13
  • 14. PLF cluster configuration(2) − Configure NFS  Config target − $TOMCAT_HOME/conf/server.xml (tomcat server) − $JBOSS_HOME/server/all/deploy/jbossweb.sar/server.xml (jboss server) − Configure AJP route − Config target − $TOMCAT_HOME/gatein/conf/configuration.properties (tomcat server) − $JBOSS_HOME/server/all/conf/gatein/configuration.properties (jboss server) − Parameters − Add JVM Route to mark the name of server used by mod_jk www.exoplatform.com - Copyright 2012 eXo Platform 14
  • 15. PLF cluster configuration(3) − Activate PLF configuration  Tomcat − Switch jcr mode to cluster − Add profile cluster to eXo Profile − Add preferIPv4Stack parameter to route message for synchronized  Jboss − Switch jcr mode to cluster − Add profile cluster to eXo Profile − Add preferIPv4Stack parameter to route message for synchronized − Activate Cluster Single On www.exoplatform.com - Copyright 2012 eXo Platform 15
  • 16. PLF cluster configuration(4) − Start PLF  Tomcat ./start_eXo.sh  Jboss bin/run.sh -g MyClusterPartition -b IP_NODE -c all www.exoplatform.com - Copyright 2012 eXo Platform 16
  • 17. PLF cluster configuration(5) − Verify cluster  In console, when a new member is added or any downs INFO [MyClusterPartition] Dead members: 0 ([]) INFO [MyClusterPartition] New Members : 1 ([127.0.0.1:1099]) INFO [MyClusterPartition] All Members : 2 ([127.0.0.1:1199, 127.0.0.1:1099]) www.exoplatform.com - Copyright 2012 eXo Platform 17
  • 18. PLF cluster configuration(6) − Common errors in configuring and use cluster mode  Error on connection to DB server − Lack of connector in lib  Add connector − Wrong database address parameters  Verify database parameters − DB isn't set to accept remote access  Configure to accept remote access  Indexing data and database aren't matched − Remove indexing data and database if possible www.exoplatform.com - Copyright 2012 eXo Platform 18
  • 19. Agenda 1 Cluster Introduction - Cluster, What's it? - Why cluster? 2 Basic configuration - Basic cluster infrastructure with load balancing - Two-node PLF cluster 3 Advanced configuration - Hot spare server - Asymmetric load 4 PLF cluster current status - Story - Bugs relating to configuration - Bugs in the implementation www.exoplatform.com - Copyright 2012 eXo Platform 19
  • 20. Advanced Configuration(1) − Hot Spare server l Failover mechanism to provide reliability l A key component fails, the hot spare is switched into operation www.exoplatform.com - Copyright 2012 eXo Platform 20
  • 21. Advanced configuration(2) − Hot spare configuration − Set hot spare server for main server # Define preferred failover node for plfnode1 worker.plfnode1.redirect=plfnode2 − Deactivate hot spare server # Disable plfnode2 for all requests except failover worker.plfnode2.activation=disabled www.exoplatform.com - Copyright 2012 eXo Platform 21
  • 22. Advanced Configuration(3) •Asymmetric load l User to divide the workload among servers l Use lbfactor for each server worker.plfnode1.lbfactor=2 worker.plfnode2.lbfactor=8 www.exoplatform.com - Copyright 2012 eXo Platform 22
  • 23. Agenda 1 Cluster Introduction - Cluster, What's it? - Why cluster? 2 Basic configuration - Basic cluster infrastructure with load balancing - Two-node PLF cluster 3 Advanced configuration - Hot spare server - Asymmetric load 4 PLF cluster current status - Story - Bugs relating to configuration - Bugs in the implementation www.exoplatform.com - Copyright 2012 eXo Platform 23
  • 24. Story − Support cluster from PLF 3.0.x − EPP SP 5.1.x in cluster mode with RedHat − Lack of test and of evaluation in PLF 3.0.x − Support fully cluster mode from PLF 3.5.1 − FQA test campaign for cluster − Cluster configuration changes from PLF 3.0.x to 3.5.x − Use shared file-system for security token store (EXOGTN-237) − Reconfigure the parameters for cluster mode (PLF-630) www.exoplatform.com - Copyright 2012 eXo Platform 24
  • 25. Bugs relating to configuration − Too many warnings on console − Related issue: PLF-2652 − Description: Too many warning on console repeatedly − Workaround: Hide log − Tomcat: Add to conf/logging.properties org.jgroups.level = ERROR org.jgroups.handlers= java.util.logging.ConsoleHandler,6gatein.org.apache.juli.FileHandler - Jboss: Add to server/all/conf/jboss-log4j.xml <category name="org.jgroups"> <priority value="ERROR"/> </category> www.exoplatform.com - Copyright 2012 eXo Platform 25
  • 26. Bugs relating to configuration(2) − Replication time out − Related issue: PLF-2752 − Description: Replication Timeout console on running PLF in cluster mode with multi instances − Workaround: Increase Replication Timeout www.exoplatform.com - Copyright 2012 eXo Platform 26
  • 27. Bugs in implementation(1) − Lack of Synchronized function − Related issue: ECMS-2324 − Description: Job runs only on a server → Another job try to access the resource using by another job − Suggested Solution: Synchronize functions. At one time, only a thread access a resource www.exoplatform.com - Copyright 2012 eXo Platform 27
  • 28. Bugs in implementation(2) − Cache problem − Related issue: ECMS-3337, SOC-1368, EXOGTN-978 − Description: To increase performance, the local cache is implemented. Cache among another nodes isn't synchronized → Cannot see update in other nodes or some objects are unavailable. − Suggested: Solution: Only use cache for necessary cases. Evict cache immediately if the changes have to take effect on cluster nodes. www.exoplatform.com - Copyright 2012 eXo Platform 28
  • 29. Bugs in implementation(3) − Problem with login session − Related issue: EXOGTN-943, PLF-2730 − Description: The user login session isn't well shared among servers in cluster. → Problem 1: Cannot relogin after a login failure → Problem 2: When a instance fails, all clients using it have to relogin. − Suggested Solution: Broadcast user login session among servers in cluster www.exoplatform.com - Copyright 2012 eXo Platform 29
  • 30. Agenda Conclusion and Perspective Q&A www.exoplatform.com - Copyright 2012 eXo Platform 30
  • 31. Conclusion and Perspective − Conclusion − PLF supports quite well in cluster mode − There are some problems in cluster mode − Perspective − Use mod_cluster for cluster configuration − Organize server in many groups. Among in a group, all server shared the same session www.exoplatform.com - Copyright 2012 eXo Platform 31
  • 32. References Admin guide for PLF 3.5 Install cluster mode by Nghi TQA http://www.mulesoft.com/tomcat-cluster http://msdn.microsoft.com/en-us/library/ff649250.aspx http://tldp.org/HOWTO/openMosix-HOWTO/x135.html http://www.linuxvirtualserver.org/whatis.html http://www.sql-server-performance.com/2002/clustering-intro/ http://docs.oracle.com/cd/E14049_01/doc.9101/e14046/jboss_cluster.htm#BGBGDCHD http://oddthesis.org/posts/2008-12-jboss-and-mod_cluster/ http://vinaytechs.blogspot.com/2009/11/clustering-in-jboss-application-server.html http://www.webopedia.com/TERM/C/clustering.html www.exoplatform.com - Copyright 2012 eXo Platform 32
  • 33. Q&A www.exoplatform.com - Copyright 2012 eXo Platform 33