Problème synchronisation cluster

cancel
Showing results for 
Search instead for 
Did you mean: 
jayjayecl
Active Member II

Re: Problème synchronisation cluster

Edition suite erreur d'interprêtation.
rokad
Member II

Re: Problème synchronisation cluster

Si mais je sais pas trop quoi mettre dans le ehcache-custom.xml

le fichier properties est bien configuré pour faire du jgroups mais pour de l'unicast en TCP, tout ce que j'ai trouvé sur le site ehcache me fait planter le lancement du tomcat.

Et quand je mets du RMI dans le ehcache ça fonctionne à peu prêt mais je perd la session au bout de 3 minutes et j'ai la réplication que dans un sens…

En gros, je suis dans une impasse.
rguinot
Customer

Re: Problème synchronisation cluster

Utilisez le fichier ehcache-custom.xml.sample.cluster fourni dans votre version, si vous n'en comprenez pas tous les tenants et les aboutissants.
rokad
Member II

Re: Problème synchronisation cluster

Bon j'ai remis le ehcache.xml qui est fourni avec les sources de Alfresco que je n'ai pas modifié.

Le but est de faire du TCP en unicast avec JGroups

Dans mon alfresco-global.properties j'ai rajouté les lignes :


dir.root=/srv/alfresco/alf_data
db.username=test
db.password=test
ooo.exe=soffice
ooo.enabled=false
jodconverter.officeHome=./OpenOffice.org
jodconverter.portNumbers=8101
jodconverter.enabled=true
img.root=/usr/
swf.exe=pdf2swf
db.driver=org.postgresql.Driver
db.url=jdbc:postgresql://172.11.42.02:5432/test
alfresco.context=alfresco
alfresco.host=${localname}
alfresco.port=8080
alfresco.protocol=http
#
share.context=share
share.host=${localname}
share.port=8080
share.protocol=http
avm.rmi.service.port=50501
avmsync.rmi.service.port=50502
attribute.rmi.service.port=50503
authentication.rmi.service.port=50504
repo.rmi.service.port=50505
action.rmi.service.port=50506
wcm-deployment-receiver.rmi.service.port=50507
monitor.rmi.service.port=50508

index.recovery.mode=FULL
alfresco.cluster.name=alftestcluster

index.recovery.stopOnError=false
index.recovery.maximumPoolSize=5
index.tracking.cronExpression=0/2 * * * * ?
index.tracking.adm.cronExpression=${index.tracking.cronExpression}
index.tracking.avm.cronExpression=${index.tracking.cronExpression}
index.tracking.maxTxnDurationMinutes=10
index.tracking.reindexLagMs=1000
index.tracking.maxRecordSetSize=1000
index.tracking.maxTransactionsPerLuceneCommit=100

alfresco.tcp.initial_hosts=172.11.42.01[7800],172.11.42.02[7800]
alfresco.jgroups.defaultProtocol=TCP
log4j.logger.org.alfresco.repo.jgroups=debug
log4j.logger.org.alfresco.enterprise.repo.cache.jgroups=debug

J'ai fais ça sur les deux serveurs. Je n'ai mis en place que le fichier alfresco-global.properties, rien mis dans repository.properties ni dans custom-repo…

Quand je crée un fichier sur le serveur 2 je le vois et je peux le modifier sur le serveur 1 mais une fois modifié sur le serveur 1 je ne vois pas la modif sur le serveur 2 et je ne peux plus le modifier en ligne sur le serveur 2 (impossible d'extraire une copie de travail du contenu suite à une erreur système 01100001 ce noeud a déjà été archivé). Et pourtant sur le serveur 1 j'ai juste fais une modification en ligne puis terminer l'édition.

J'ai loupé quelque chose ? Est ce que JGroups est activé par défaut ? Y'a moyen de vérifier que les deux postes se voient bien ?

Merci pour votre aide
rokad
Member II

Re: Problème synchronisation cluster

Je précise que la base de donnée est sur le serveur 1 et que les fichiers sont sur le serveur 2 dans des répertoires alf_data et share avec des liens virtuels.
rokad
Member II

Re: Problème synchronisation cluster

En fait il doit manquer quelque chose car chacun de mes fichiers vis sa vie sur les deux serveurs. A la création on voit ce qu'à écrit l'autre mais ensuite quand je modifie d'un côté ou de l'autre, je ne vois que les modification du serveur où je suis et pas du tout celui de l'autre. Il n'y a aucune synchro entre les deux serveurs…

Si quelqu'un a une idée…
rokad
Member II

Re: Problème synchronisation cluster

Une dernière question avant l'abandon car j'ai essayé toutes les docs et pas une ne fonctionne…

Dans un exemple j'ai trouvé ça


Before starting Tomcat on the two nodes, I enabled a log4j logger so I could see nodes join and leave the cluster:

log4j.logger.org.alfresco.enterprise.repo.cache.jgroups=INFO

After starting up Tomcat, I eventually saw this in catalina.out:

06:24:52,043 INFO [repo.jgroups.AlfrescoJGroupsChannelFactory]
Created JChannelFactory:
Cluster Name: testcluster
Stack Mapping: {DEFAULT=TCP}
Configuration: file:/opt/apache/apache-tomcat-5.5.27/webapps/alfresco/WEB-INF/classes/alfresco/jgroups-default.xml

Je ne vois jamais le message concernant le cluster dans Catalina.out, c'est normal ?
rguinot
Customer

Re: Problème synchronisation cluster

le multicast est il autorisé dans votre environnement ? il semble que avez configuré jgroups en tcp , avez vous essayé de lister statiquement les peers  (initial hosts) ?
rokad
Member II

Re: Problème synchronisation cluster

Non malheureusement le multicast n'est pas autorisé sur le réseau.

Je ne sais pas quoi mettre dans le ehcache pour lister statiquement les peers.

J'ai essayé de mettre ça dans le ehcache :

<cacheManagerPeerProviderFactory
        class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"
        properties="peerDiscovery=manual,
            rmiUrls=
//host2:7800/org.hibernate.cache.StandardQueryCache|
//host2:7800/org.hibernate.cache.UpdateTimestampsCache|
//host2:7800/org.alfresco.repo.domain.hibernate.NodeImpl|
//host2:7800/org.alfresco.cache.node.rootNodesCache|
//host2:7800/org.alfresco.cache.node.nodesCache|

avec tous les titres des sections qui sont dans le ehcache mais j'ai les mêmes symptômes : je ne peux pas modifier un fichier sur les deux postes de travail.
rguinot
Customer

Re: Problème synchronisation cluster

le fichier ehcache cluster n'est pas a modifier (sauf si vous savez ce que vous faites).

un exemple de mise en oeuvre avec est dispo ici : http://www.ziaconsulting.com/technology/alfresco-technology/alfresco-ha-cluster-on-amazo-ec2/ (google).
ec2 n'autorise pas le multicast donc c'est similaire à votre cas.