Published on June 22, 2008
Author: alfresco
Source: slideshare.net
Clustering Alfresco Michael Farman Director of Product Management www.alfresco.com View the recorded webinar here: http:// tinyurl .com/alfresco-cluster
Alfresco Server Components Vertical Scalability Note: 1.5GB JVM Limit on 32 bit Multiple Points of Failure Application Server Content and Index Storage Database 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
Vertical Scalability
Note: 1.5GB JVM Limit on 32 bit
Multiple Points of Failure
Application Server
Content and Index Storage
Database
What needs to be clustered? EHCache Single Configuration File Rename Index Note: Each server must have its own index Single Configuration File Only for recovery Content 2 Config Files Define Content Store Locations Declare the Stores Set Replication Type Database Native Database Clustering 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
EHCache
Single Configuration File Rename
Index
Note: Each server must have its own index
Single Configuration File
Only for recovery
Content
2 Config Files
Define Content Store Locations
Declare the Stores
Set Replication Type
Database
Native Database Clustering
Content Clustering Replicating Content Stores Used to synchronise content between content stores Inbound On Read ‘ Pulls’ content from secondary store to primary store Outbound On Write ‘ Push’ content from primary store to secondary store Synchronous (Transactional) or Asynchronous 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
Used to synchronise content between content stores
Inbound
On Read
‘ Pulls’ content from secondary store to primary store
Outbound
On Write
‘ Push’ content from primary store to secondary store
Synchronous (Transactional) or Asynchronous
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
Clustered Server - Shared DB and Content √ Horizontal Scalability X Multiple Points of Failure Content Storage* Database Note: Each server needs it’s own local index 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
√ Horizontal Scalability
X Multiple Points of Failure
Content Storage*
Database
Note: Each server needs it’s own local index
Clustered Server - Shared Database √ Horizontal Scalability X Single Point of Failure Database Replicating Content Store In and Outbound Replication No need to change config for existing servers when adding additional servers Production B Tomcat EHCache Secondary Content Store Index* Index* Primary Content Primary Content Production A Tomcat EHCache Replicating Content Store Replicating Content Store Index recovery component not shown Used to synchronise indexes when necessary e.g. After server restart Database MySQL HTTP/CIFS/WebDAV/FTP Clients Load Balancer
√ Horizontal Scalability
X Single Point of Failure
Database
Replicating Content Store
In and Outbound Replication
No need to change config for existing servers when adding additional servers
Index recovery component not shown
Used to synchronise indexes when necessary e.g. After server restart
Database Clustering Master - Slave Use Native DB Clustering Capabilities Specifics Database (and O/S) Dependent Master – Slave Master acts as primary Slave as backup Bring slave online on master failure Scripts O/S Level Clustering Note: Use DB connection pool to avoid Alfresco server restarts Database Clustering <- Failover -> DB Slave MySQL JDBC View the recorded webinar here: http:// tinyurl .com/alfresco-cluster DB Master MySQL
Use Native DB Clustering Capabilities
Specifics Database (and O/S) Dependent
Master – Slave
Master acts as primary
Slave as backup
Bring slave online on master failure
Scripts
O/S Level Clustering
Note: Use DB connection pool to avoid Alfresco server restarts
Database Clustering Master - Master Use Native DB Clustering Capabilities Specifics Database (and O/S) Dependent Master – Master Can be used for distributed deployment Network performance may be a factor Database Clustering <- Replication -> DB Master MySQL JDBC JDBC View the recorded webinar here: http:// tinyurl .com/alfresco-cluster DB Master MySQL
Use Native DB Clustering Capabilities
Specifics Database (and O/S) Dependent
Master – Master
Can be used for distributed deployment
Network performance may be a factor
Configuring a 2 Server Cluster Quick Start Guide Server A Standard Install Configure A’s Primary and the Secondary Store Locations custom-repository.properties Enable Index Tracking index.tracking.cronExpression in custom-repository.properties Enable Content Replication between these locations replicating-content-services-context.xml Define the Shared Content Store Define in/outbound replication between the stores Enable Index Tracking custom-repository.properties index.tracking.cronExpression=0/2 * * * * ? (default entry is 2099 i.e. never) Enable ehcache-custom.xml - Rename the sample Startup Server B Copy A’s Install Configure B’s Primary Content Store – Only required if stores path different repository.properties Note: Secondary Store Location – Same as A Startup with Full Index Recovery – custom-repository.properties
Server A
Standard Install
Configure A’s Primary and the Secondary Store Locations
custom-repository.properties
Enable Index Tracking
index.tracking.cronExpression in custom-repository.properties
Enable Content Replication between these locations
replicating-content-services-context.xml
Define the Shared Content Store
Define in/outbound replication between the stores
Enable Index Tracking
custom-repository.properties
index.tracking.cronExpression=0/2 * * * * ? (default entry is 2099 i.e. never)
Enable
ehcache-custom.xml - Rename the sample
Startup
Server B
Copy A’s Install
Configure B’s Primary Content Store – Only required if stores path different
repository.properties
Note: Secondary Store Location – Same as A
Startup with Full Index Recovery – custom-repository.properties
Tips & Troubleshooting Starting the server without an index: custom-repository.properties system.bootstrap.config_check.strict=false Always use a fully qualified path to your content and index store locations custom-repository.properties dir.root=c:mystorage Rebuilding indexes You cannot copy indexes from a running server Shutdown and copy or use server generated backup copy System Clocks must be in sync on all servers 1 second by default View the recorded webinar here: http:// tinyurl .com/alfresco-cluster
Starting the server without an index:
custom-repository.properties
system.bootstrap.config_check.strict=false
Always use a fully qualified path to your content and index store locations
custom-repository.properties
dir.root=c:mystorage
Rebuilding indexes
You cannot copy indexes from a running server
Shutdown and copy or use server generated backup copy
System Clocks must be in sync on all servers
1 second by default
More Information Content Community – www.alfresco.com Alfresco High Availability and Clustering Guide http:// wiki .alfresco.com/ wiki / High_Availability_Configuration View the recorded webinar here: http:// tinyurl .com/alfresco-cluster
Content Community – www.alfresco.com
Alfresco High Availability and Clustering Guide
http:// wiki .alfresco.com/ wiki / High_Availability_Configuration
View the recorded webinar: http:// tinyurl .com/alfresco-cluster
... Enterprise Content Management application in Linux. The deployment supports high availability and is thus considered an Alfresco cluster. Environment.
Read more
High availability components. NB: ... A common situation is where you have a Testing/Validation Alfresco cluster environment and a production Alfresco ...
Read more
This section describes how to implement multiple Alfresco instances in a high availability ... track issues with clustering in a high availability ...
Read more
Alfresco is a popular collaboration tool available on the open-source market. It is Java based, and has a content repository, web application framework and ...
Read more
Alfresco Enterprise 4.0.2 » Administering » Setting up high availability ... of initiating clustering and the ... alfresco.cluster.name=cluster1 ...
Read more
As mentioned in my previous post , the purpose of this series of articles is to provide some recommendations to help you build your own alfresco high ...
Read more
Enterprise Content Management. ... and management of Alfresco sub-system and clustering with ... Clustering for high availability — Simple UI ...
Read more
Alfresco Clustering . We are running alfresco on Redhat AS3 (2 ... http://wiki.alfresco.com/wiki/High_Availability_Configuration_V1.4. Hope this helps.
Read more
This entry was posted on Saturday, December 12th, 2009 at 4:53 pm and is filed under Alfresco DM, Backup and Restore, Clustering and High ...
Read more
Add a comment