A few things jump out in the configuration below: 1) You aren't assigning a Cluster ID. This is required. 2) Each cluster node is sharing the same database for the FileSystem implementations. This is wrong. Each cluster node needs a private FileSystem (as Thomas said below).
You can find them on the wiki link Thomas sent below, but the clustering prerequisties are worth repeating: 1) Each cluster node must have its own repository configuration. 2) Each cluster node needs its own (private) FileSystem and Search index. 3) Every cluster node must be assigned a unique ID. 4) A journal type must be chosen, either based on files or stored in a database. 5) The persistence managers must store their data in the same, globally accessible location (see PersistenceManagerFAQ). 6) A DataStore must always be shared between nodes, if used. You seem to be OK on #4 and #5, but not #1, #2, and #3. HTH, Justin On 6/8/10 1:07 PM, Juan Diego Botiva Leon wrote: > > Hi, > > In the repository.xml file I sent before, the database is at localhost > because our test environment is a single node cluster, JBoss and MySQL run on > the same machine. But yesterday I made a test in our production environment > (2-node cluster, both using the same persistence manager): I changed the path > of the repository folder to a new one and when I started JBoss, the index was > regenerated but when I tried to access nodes created after moving to a > cluster, they were never found, then I simply changed the path back to how it > was and I was able to access the nodes again. So I think it has something to > do with what is stored in the repository folder even if we have everything in > MySQL except for the search index. What can I do in order to move data > between environments with this setup. Below is our repository.xml production > file, it is the same in both nodes. Thanks in advance. > > Regards, > Juan Diego Botiva > > > <?xml version="1.0"?> > <!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD > Jackrabbit 1.5//EN" "http://jackrabbit.apache.org/dtd/repository-1.5.dtd"> > <Repository> > <Cluster syncDelay="10000"> > <Journal class="org.apache.jackrabbit.core.journal.DatabaseJournal"> > <param name="revision" value="${rep.home}/revision.log" /> > <param name="driver" value="com.mysql.jdbc.Driver" /> > <param name="url" > value="jdbc:mysql://192.168.1.144:3306/dbutil?autoReconnect=true" /> > <param name="user" value="dbroot"/> > <param name="password" value="dbpwd"/> > </Journal> > </Cluster> > <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem"> > <param name="url" > value="jdbc:mysql://192.168.1.144:3306/dbrep?autoReconnect=true"/> > <param name="user" value="dbroot"/> > <param name="password" value="dbpwd"/> > <param name="driver" value="com.mysql.jdbc.Driver"/> > <param name="schema" value="mysql"/> > <param name="schemaObjectPrefix" value="jcr_repository_fs_"/> > </FileSystem> > <Security appName="Jackrabbit"> > <AccessManager > class="org.apache.jackrabbit.core.security.SimpleAccessManager"/> > <LoginModule > class="org.apache.jackrabbit.core.security.SimpleLoginModule"> > <param name="anonymousId" value="anonymous"/> > <param name="jruser" value="superuser"/> > </LoginModule> > </Security> > <Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="MyWP"/> > <Workspace name="${wsp.name}"> > <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem"> > <param name="url" > value="jdbc:mysql://192.168.1.144:3306/dbrep?autoReconnect=true"/> > <param name="user" value="dbroot"/> > <param name="password" value="dbpwd"/> > <param name="driver" value="com.mysql.jdbc.Driver"/> > <param name="schema" value="mysql"/> > <param name="schemaObjectPrefix" value="jcr_${wsp.name}_fs_"/> > </FileSystem> > <PersistenceManager > class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager"> > <param name="url" > value="jdbc:mysql://192.168.1.144:3306/dbrep?autoReconnect=true"/> > <param name="user" value="dbroot"/> > <param name="password" value="dbpwd"/> > <param name="driver" value="com.mysql.jdbc.Driver"/> > <param name="schemaObjectPrefix" value="jcr_${wsp.name}_pm_"/> > <param name="externalBLOBs" value="false"/> > </PersistenceManager> > <SearchIndex > class="org.apache.jackrabbit.core.query.lucene.SearchIndex"> > <param name="path" value="${wsp.home}/index"/> > <param name="indexingConfiguration" value="index-config.xml"/> > <param name="textFilterClasses" > value="org.apache.jackrabbit.extractor.MsWordTextExtractor,org.apache.jackrabbit.extractor.MsExcelTextExtractor,org.apache.jackrabbit.extractor.MsPowerPointTextExtractor,org.apache.jackrabbit.extractor.PdfTextExtractor,org.apache.jackrabbit.extractor.OpenOfficeTextExtractor,org.apache.jackrabbit.extractor.RTFTextExtractor,org.apache.jackrabbit.extractor.HTMLTextExtractor,org.apache.jackrabbit.extractor.XMLTextExtractor"/> > <param name="extractorPoolSize" value="2"/> > <param name="extractorTimeout" value="5000"/> > </SearchIndex> > </Workspace> > <Versioning rootPath="${rep.home}/version"> > <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem"> > <param name="url" > value="jdbc:mysql://192.168.1.144:3306/dbrep?autoReconnect=true"/> > <param name="user" value="dbroot"/> > <param name="password" value="dbpwd"/> > <param name="driver" value="com.mysql.jdbc.Driver"/> > <param name="schema" value="mysql"/> > <param name="schemaObjectPrefix" value="jcr_version_fs_"/> > </FileSystem> > <PersistenceManager > class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager"> > <param name="url" > value="jdbc:mysql://192.168.1.144:3306/dbrep?autoReconnect=true"/> > <param name="user" value="dbroot"/> > <param name="password" value="dbpwd"/> > <param name="driver" value="com.mysql.jdbc.Driver"/> > <param name="schemaObjectPrefix" value="jcr_version_pm_"/> > <param name="externalBLOBs" value="false"/> > </PersistenceManager> > </Versioning> > </Repository> > > > >> Date: Mon, 7 Jun 2010 14:04:31 +0200 >> Subject: Re: Problems Migrating Cluster Data >> From: [email protected] >> To: [email protected] >> >> Hi, >> >> I think the main problem is that each cluster node uses it's own >> persistence manager (database on localhost). See >> http://wiki.apache.org/jackrabbit/Clustering "That means all >> Jackrabbit cluster nodes need access to the SAME persistent storage >> (persistence manager and data store)." By the way, this is not the >> case for the file system: "However, each cluster node needs its own >> (private) FileSystem and Search index." >> >> Regards, >> Thomas > > _________________________________________________________________ > The New Busy is not the old busy. Search, chat and e-mail from your inbox. > http://www.windowslive.com/campaign/thenewbusy?ocid=PID28326::T:WLMTAGL:ON:WL:en-US:WM_HMP:042010_3
