jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Justin Edelson <justinedel...@gmail.com>
Subject Re: Problems Migrating Cluster Data
Date Tue, 08 Jun 2010 17:18:10 GMT
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: thomas.mueller@day.com
>> To: users@jackrabbit.apache.org
>>
>> 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


Mime
View raw message