AnsweredAssumed Answered

installing and configuring cluster - alfresco 3.4.d

Question asked by mrksjs on Aug 22, 2013
Latest reply on Aug 22, 2013 by mrksjs
i always wanted to try this.

was following this article: http://wiki.alfresco.com/wiki/Configuring_JGroups_and_Alfresco_Clusters

these are my steps:


Installation of cluster and configuration of jgroups

1.   first step: synchronize time on both nodes. Difference must not be larger than ~5 second
21 Aug 21:14:50 ntpdate[4806]: step time server 91.189.94.4 offset 10.524274 sec

… interesting


2.   Install alfresco on node1.

3.   Configure contentstore. contentstore muste be shared. indices never be shared.
  • configure share drive (nfs) for contentstore
  • Configure dir.root to shared folder
  • alfresco-global.properties : dir.root=/mnt/alf_data (shared folder)
  • separate indices from dir.root
  • Configure dir.indexes to local folder (outside dir.root)
  • alfresco-global.properties : dir.indexes=/export/indices/lucene-indexes
  • configure cluster:
  • alfresco-global.properties : alfresco.cluster.name=testcluster
4.   configure remote access for mysql.

5.   Install alfresco on node2
  • repeat step 3
  • configure db.url pointing to node1
6.   configure indexing
  • alfresco-global.properties : index.recovery.mode=AUTO
  • alfresco-global.properties : index.tracking.cronExpression=0/5 * * * * ?
  • alfresco-global.properties : index.tracking.reindexLagMs=10000
7.   enable ehcache configuration
  • cd /opt/alfresco-3.4.d/tomcat/shared/classes/alfresco/extension/
  • cp ehcache-custom.xml.sample.cluster ehcache-custom.xml
8.   change cacheManagerPeerProviderFactory in ehcache-custom.xml
<cacheManagerPeerProviderFactory        
class="org.alfresco.repo.cache.AlfrescoCacheManagerPeerProviderFactory"       
properties="heartbeatInterval=5000,
            peerDiscovery=automatic,
            multicastGroupAddress=230.0.0.1,
            multicastGroupPort=4446"    />

9.   configure ehcache on both nodes:
  • alfresco-global.properties : alfresco.jgroups.defaultProtocol=TCP
  • alfresco-global.properties : alfresco.jgroups.bind_address=node1
  • alfresco-global.properties : alfresco.jgroups.bind_interface=eth0
  • alfresco-global.properties : alfresco.tcp.start_port=7800
  • alfresco-global.properties : alfresco.tcp.port_range=5
  • alfresco-global.properties : alfresco.tcp.initial_hosts=node1[7800],node2[7800]
  • alfresco-global.properties : alfresco.ehcache.rmi.hostname=nodeX
  • alfresco-global.properties : alfresco.rmi.services.external.host=nodeX
  • alfresco-global.properties : alfresco.ehcache.rmi.port=40001
  • alfresco-global.properties : alfresco.ehcache.rmi.remoteObjectPort=45001
10.   test content sharing
  • login to node1/alfresco
  • create new space/folder
  • upload document to space/folder
  • login to node2/alfresco
  • check if uploaded document and newly created space/folder is available
that works!

11.   test index synchronization
  • login to node1/alfresco
  • change metadata of any file
  • login to node2/alfresco
  • check if metadata has been changed
that does not work.
index is not being synchronized unless server is restarted.
On restart the indexer will notice that content/metadata has been changed an will index it.

when starting i receive a exception (see second post…) which i dont understand. also when i access nodes the exception is thrown.


Full global properties:



###############################
## Common Alfresco Properties #
###############################

#dir.root=/opt/alfresco-3.4.d/alf_data
dir.root=/mnt/alf_data
web.application.context.url=http://127.0.0.1:8080/alfresco

dir.indexes=/export/indices/lucene-indexes
dir.indexes.backup=/export/indices/backup-lucene-indexes
dir.indexes.lock=/export/indices/locks

### database connection properties ###
db.driver=org.gjt.mm.mysql.Driver
db.username=alfresco
db.password=root
db.name=alfresco
db.url=jdbc:mysql://192.168.1.60/alfresco

### FTP Server Configuration ###
ftp.enabled=true
ftp.port=21
ftp.ipv6.enabled=false

### RMI service ports ###
alfresco.rmi.services.port=50500
avm.rmi.service.port=0
avmsync.rmi.service.port=0
attribute.rmi.service.port=0
authentication.rmi.service.port=0
repo.rmi.service.port=0
action.rmi.service.port=0
deployment.rmi.service.port=0

### External executable locations ###
ooo.exe=/program/soffice.bin
ooo.enabled=false
img.root=/opt/alfresco-3.4.d/common
img.dyn=${img.root}/lib
img.exe=${img.root}/bin/convert
swf.exe=/opt/alfresco-3.4.d/common/bin/pdf2swf
jodconverter.enabled=true
jodconverter.officeHome=
jodconverter.portNumbers=8101

### Initial admin password ###
alfresco_user_store.adminpassword=209c6174da490caeb422f3fa5a7ae634

### cluster configuration and such ###

alfresco.cluster.name=testcluster

index.recovery.mode=AUTO
index.tracking.cronExpression=0/5 * * * * ?
index.tracking.reindexLagMs=10000

alfresco.jgroups.defaultProtocol=TCP
alfresco.jgroups.bind_address=node1
alfresco.jgroups.bind_interface=eth0
alfresco.tcp.start_port=7800
alfresco.tcp.port_range=5
alfresco.tcp.initial_hosts=node2[7800],node1[7800]
alfresco.ehcache.rmi.hostname=node1
alfresco.rmi.services.external.host=node1
alfresco.ehcache.rmi.port=40001
alfresco.ehcache.rmi.remoteObjectPort=45001





please please please. somebody?

Outcomes