high availability clustering with alfresco

13
Clustering Alfresco Michael Farman Director of Product Management www.alfresco.com View the recorded webinar here: http:// tinyurl .com/alfresco-clus

Upload: alfresco-software

Post on 16-May-2015

18.210 views

Category:

Technology


16 download

DESCRIPTION

http://tinyurl.com/689svq

TRANSCRIPT

Page 1: High Availability Clustering With Alfresco

Clustering Alfresco

Michael FarmanDirector of Product Management

www.alfresco.com

View the recorded webinar here:http://tinyurl.com/alfresco-cluster

Page 2: High Availability Clustering With Alfresco

Alfresco Server Components

● Vertical Scalability● Note: 1.5GB JVM Limit on 32 bit

● Multiple Points of Failure● Application Server● Content and Index Storage● Database

Database

MySQL

Alfresco Server

Tomcat

EHCache

Index &Content Store

HTTP/CIFS/NFS/WebDAV/FTPClients

View the recorded webinar here:http://tinyurl.com/alfresco-cluster

Page 3: High Availability Clustering With Alfresco

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

Database

MySQL

Production A

Tomcat

EHCache

Index &Content Store

HTTP/CIFS/NFS/WebDAV/FTPClients

View the recorded webinar here:http://tinyurl.com/alfresco-cluster

Page 4: High Availability Clustering With Alfresco

Content ClusteringReplicating 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

SecondaryContent Store

PrimaryContent

PrimaryContent

ReplicatingContent Store

ReplicatingContent StoreA

A

A

A

View the recorded webinar here:http://tinyurl.com/alfresco-cluster

Page 5: High Availability Clustering With Alfresco

Replicating Content Stores In Action

SecondaryContent Store

PrimaryContent

PrimaryContent

Production A Production B

A1. Write A4. Request Content ‘A’

5. Not Found in Primary

6. Requested from Secondary

A7. Copy stored in Primary

A

A2. ‘A’ written to Primary

A

3. ‘A’ copied to secondary(sync/async)

ReplicatingContent Store

8. ‘A’ DeliveredSubsequent Requests Served from B Primary Store

A

ReplicatingContent Store

Note: Production A and B Do not knowanything about each other

Allows additional servers to be added withoutreconfiguring A or B

Note: Production A and B Do not knowanything about each other

Allows additional servers to be added withoutreconfiguring A or B

Inbound Outbound

Page 6: High Availability Clustering With Alfresco

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

Database

MySQL

Production B

Tomcat

EHCache

Content Store

IndexIndex

HTTP/CIFS/WebDAV/FTPClients

Load BalancerLoad Balancer

* Could be on highly available disk such a SAN storage

View the recorded webinar here:http://tinyurl.com/alfresco-cluster

Page 7: High Availability Clustering With Alfresco

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

Database

MySQL

Production B

Tomcat

EHCache

SecondaryContent Store

Index*Index*PrimaryContent

PrimaryContent

Production A

Tomcat

EHCache

ReplicatingContent Store

ReplicatingContent Store

• Index recovery component not shown

Used to synchronise indexes when necessary e.g. After server restart

HTTP/CIFS/WebDAV/FTPClients

Load BalancerLoad Balancer

Page 8: High Availability Clustering With Alfresco

Database ClusteringMaster - 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 restartsDatabase Clustering

<- Failover ->

DB Master

MySQL

DB Slave

MySQL

JDBC

View the recorded webinar here:http://tinyurl.com/alfresco-cluster

Page 9: High Availability Clustering With Alfresco

Database ClusteringMaster - Master

Database Clustering

<- Replication ->

DB Master

MySQL

DB Master

MySQL

JDBC JDBC

● 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

View the recorded webinar here:http://tinyurl.com/alfresco-cluster

Page 10: High Availability Clustering With Alfresco

Configuring a 2 Server ClusterQuick Start Guide

● Server A1. Standard Install2. Configure A’s Primary and the Secondary Store Locations

● custom-repository.properties

3. Enable Index Tracking● index.tracking.cronExpression in custom-repository.properties

4. Enable Content Replication between these locations● replicating-content-services-context.xml

● Define the Shared Content Store● Define in/outbound replication between the stores

5. Enable Index Tracking1. custom-repository.properties2. index.tracking.cronExpression=0/2 * * * * ? (default entry is 2099 i.e. never)

6. Enable● ehcache-custom.xml - Rename the sample

7. Startup

● Server B1. Copy A’s Install2. Configure B’s Primary Content Store – Only required if stores path different

● repository.properties● Note: Secondary Store Location – Same as A

3. Startup with Full Index Recovery – custom-repository.properties

Page 11: High Availability Clustering With Alfresco

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

Page 12: High Availability Clustering With Alfresco

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

Page 13: High Availability Clustering With Alfresco

View the recorded webinar:

http://tinyurl.com/alfresco-cluster