0
Clustering Alfresco Michael Farman Director of Product Management www.alfresco.com View the recorded webinar here: http://...
Alfresco Server Components <ul><li>Vertical Scalability </li></ul><ul><ul><li>Note: 1.5GB JVM Limit on 32 bit </li></ul></...
What needs to be clustered? <ul><li>EHCache </li></ul><ul><ul><li>Single Configuration File Rename </li></ul></ul><ul><li>...
Content Clustering Replicating Content Stores <ul><li>Used to synchronise content between content stores </li></ul><ul><li...
Replicating Content Stores  In Action Secondary Content Store Primary Content Primary Content Production A Production B Re...
Clustered Server - Shared DB and Content <ul><li>√  Horizontal Scalability </li></ul><ul><li>X  Multiple Points of Failure...
Clustered Server - Shared Database <ul><li>√  Horizontal Scalability </li></ul><ul><li>X  Single Point of Failure </li></u...
Database Clustering Master - Slave <ul><li>Use Native DB Clustering Capabilities </li></ul><ul><li>Specifics Database (and...
Database Clustering Master - Master <ul><li>Use Native DB Clustering Capabilities </li></ul><ul><li>Specifics Database (an...
Configuring a 2 Server Cluster Quick Start Guide <ul><li>Server A </li></ul><ul><ul><li>Standard Install </li></ul></ul><u...
Tips & Troubleshooting  <ul><li>Starting the server without an index: </li></ul><ul><ul><li>custom-repository.properties <...
More Information <ul><li>Content Community – www.alfresco.com </li></ul><ul><ul><li>Alfresco High Availability and Cluster...
View the recorded webinar: http:// tinyurl .com/alfresco-cluster
Upcoming SlideShare
Loading in...5
×

High Availability Clustering With Alfresco

18,393

Published on

http://tinyurl.com/689svq <-- View the recorded webinar. Alfresco has been designed from the ground up to support enterprise scale, mission critical applications.
In this Webinar we will cover how Alfresco can be deployed to deliver high-availability applications within your organization.

Published in: Technology
0 Comments
14 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
18,393
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
1,124
Comments
0
Likes
14
Embeds 0
No embeds

No notes for slide
  • Transcript of "High Availability Clustering With Alfresco"

    1. 1. Clustering Alfresco Michael Farman Director of Product Management www.alfresco.com View the recorded webinar here: http:// tinyurl .com/alfresco-cluster
    2. 2. Alfresco Server Components <ul><li>Vertical Scalability </li></ul><ul><ul><li>Note: 1.5GB JVM Limit on 32 bit </li></ul></ul><ul><li>Multiple Points of Failure </li></ul><ul><ul><li>Application Server </li></ul></ul><ul><ul><li>Content and Index Storage </li></ul></ul><ul><ul><li>Database </li></ul></ul>Index & Content Store HTTP/CIFS/NFS/WebDAV/FTP Clients View the recorded webinar here: http:// tinyurl .com/alfresco-cluster Database MySQL Alfresco Server Tomcat EHCache
    3. 3. What needs to be clustered? <ul><li>EHCache </li></ul><ul><ul><li>Single Configuration File Rename </li></ul></ul><ul><li>Index </li></ul><ul><ul><li>Note: Each server must have its own index </li></ul></ul><ul><ul><li>Single Configuration File </li></ul></ul><ul><ul><li>Only for recovery </li></ul></ul><ul><li>Content </li></ul><ul><ul><li>2 Config Files </li></ul></ul><ul><ul><ul><li>Define Content Store Locations </li></ul></ul></ul><ul><ul><ul><li>Declare the Stores </li></ul></ul></ul><ul><ul><ul><li>Set Replication Type </li></ul></ul></ul><ul><li>Database </li></ul><ul><ul><li>Native Database Clustering </li></ul></ul>Index & Content Store HTTP/CIFS/NFS/WebDAV/FTP Clients View the recorded webinar here: http:// tinyurl .com/alfresco-cluster Database MySQL Production A Tomcat EHCache
    4. 4. Content Clustering Replicating Content Stores <ul><li>Used to synchronise content between content stores </li></ul><ul><li>Inbound </li></ul><ul><ul><li>On Read </li></ul></ul><ul><ul><li>‘ Pulls’ content from secondary store to primary store </li></ul></ul><ul><li>Outbound </li></ul><ul><ul><li>On Write </li></ul></ul><ul><ul><li>‘ Push’ content from primary store to secondary store </li></ul></ul><ul><ul><li>Synchronous (Transactional) or Asynchronous </li></ul></ul>Secondary Content Store Primary Content Primary Content Replicating Content Store Replicating Content Store A View the recorded webinar here: http:// tinyurl .com/alfresco-cluster A A A
    5. 5. Replicating Content Stores In Action Secondary Content Store Primary Content Primary Content Production A Production B Replicating Content Store Replicating Content Store Note: Production A and B Do not know anything about each other Allows additional servers to be added without reconfiguring A or B Inbound Outbound A 1. Write A 4. Request Content ‘A’ 5. Not Found in Primary 6. Requested from Secondary A 7. Copy stored in Primary A A 2. ‘A’ written to Primary A 3. ‘A’ copied to secondary (sync/async) 8. ‘A’ Delivered Subsequent Requests Served from B Primary Store A
    6. 6. Clustered Server - Shared DB and Content <ul><li>√ Horizontal Scalability </li></ul><ul><li>X Multiple Points of Failure </li></ul><ul><ul><li>Content Storage* </li></ul></ul><ul><ul><li>Database </li></ul></ul><ul><li>Note: Each server needs it’s own local index </li></ul>Production A Tomcat EHCache Production B Tomcat EHCache Content Store Index Index * Could be on highly available disk such a SAN storage View the recorded webinar here: http:// tinyurl .com/alfresco-cluster Database MySQL HTTP/CIFS/WebDAV/FTP Clients Load Balancer
    7. 7. Clustered Server - Shared Database <ul><li>√ Horizontal Scalability </li></ul><ul><li>X Single Point of Failure </li></ul><ul><ul><li>Database </li></ul></ul><ul><li>Replicating Content Store </li></ul><ul><ul><li>In and Outbound Replication </li></ul></ul><ul><li>No need to change config for existing servers when adding additional servers </li></ul>Production B Tomcat EHCache Secondary Content Store Index* Index* Primary Content Primary Content Production A Tomcat EHCache Replicating Content Store Replicating Content Store <ul><li>Index recovery component not shown </li></ul><ul><li>Used to synchronise indexes when necessary e.g. After server restart </li></ul>Database MySQL HTTP/CIFS/WebDAV/FTP Clients Load Balancer
    8. 8. Database Clustering Master - Slave <ul><li>Use Native DB Clustering Capabilities </li></ul><ul><li>Specifics Database (and O/S) Dependent </li></ul><ul><li>Master – Slave </li></ul><ul><ul><li>Master acts as primary </li></ul></ul><ul><ul><li>Slave as backup </li></ul></ul><ul><ul><li>Bring slave online on master failure </li></ul></ul><ul><ul><ul><li>Scripts </li></ul></ul></ul><ul><ul><ul><li>O/S Level Clustering </li></ul></ul></ul><ul><li>Note: Use DB connection pool to avoid Alfresco server restarts </li></ul>Database Clustering <- Failover -> DB Slave MySQL JDBC View the recorded webinar here: http:// tinyurl .com/alfresco-cluster DB Master MySQL
    9. 9. Database Clustering Master - Master <ul><li>Use Native DB Clustering Capabilities </li></ul><ul><li>Specifics Database (and O/S) Dependent </li></ul><ul><li>Master – Master </li></ul><ul><ul><li>Can be used for distributed deployment </li></ul></ul><ul><ul><li>Network performance may be a factor </li></ul></ul>Database Clustering <- Replication -> DB Master MySQL JDBC JDBC View the recorded webinar here: http:// tinyurl .com/alfresco-cluster DB Master MySQL
    10. 10. Configuring a 2 Server Cluster Quick Start Guide <ul><li>Server A </li></ul><ul><ul><li>Standard Install </li></ul></ul><ul><ul><li>Configure A’s Primary and the Secondary Store Locations </li></ul></ul><ul><ul><ul><li>custom-repository.properties </li></ul></ul></ul><ul><ul><li>Enable Index Tracking </li></ul></ul><ul><ul><ul><li>index.tracking.cronExpression in custom-repository.properties </li></ul></ul></ul><ul><ul><li>Enable Content Replication between these locations </li></ul></ul><ul><ul><ul><li>replicating-content-services-context.xml </li></ul></ul></ul><ul><ul><ul><ul><li>Define the Shared Content Store </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Define in/outbound replication between the stores </li></ul></ul></ul></ul><ul><ul><li>Enable Index Tracking </li></ul></ul><ul><ul><ul><li>custom-repository.properties </li></ul></ul></ul><ul><ul><ul><li>index.tracking.cronExpression=0/2 * * * * ? (default entry is 2099 i.e. never) </li></ul></ul></ul><ul><ul><li>Enable </li></ul></ul><ul><ul><ul><li>ehcache-custom.xml - Rename the sample </li></ul></ul></ul><ul><ul><li>Startup </li></ul></ul><ul><li>Server B </li></ul><ul><ul><li>Copy A’s Install </li></ul></ul><ul><ul><li>Configure B’s Primary Content Store – Only required if stores path different </li></ul></ul><ul><ul><ul><li>repository.properties </li></ul></ul></ul><ul><ul><ul><li>Note: Secondary Store Location – Same as A </li></ul></ul></ul><ul><ul><li>Startup with Full Index Recovery – custom-repository.properties </li></ul></ul>
    11. 11. Tips & Troubleshooting <ul><li>Starting the server without an index: </li></ul><ul><ul><li>custom-repository.properties </li></ul></ul><ul><ul><li>system.bootstrap.config_check.strict=false </li></ul></ul><ul><li>Always use a fully qualified path to your content and index store locations </li></ul><ul><ul><li>custom-repository.properties </li></ul></ul><ul><ul><ul><li>dir.root=c:mystorage </li></ul></ul></ul><ul><li>Rebuilding indexes </li></ul><ul><ul><li>You cannot copy indexes from a running server </li></ul></ul><ul><ul><li>Shutdown and copy or use server generated backup copy </li></ul></ul><ul><li>System Clocks must be in sync on all servers </li></ul><ul><ul><li>1 second by default </li></ul></ul>View the recorded webinar here: http:// tinyurl .com/alfresco-cluster
    12. 12. More Information <ul><li>Content Community – www.alfresco.com </li></ul><ul><ul><li>Alfresco High Availability and Clustering Guide </li></ul></ul><ul><li>http:// wiki .alfresco.com/ wiki / High_Availability_Configuration </li></ul>View the recorded webinar here: http:// tinyurl .com/alfresco-cluster
    13. 13. View the recorded webinar: http:// tinyurl .com/alfresco-cluster
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×