jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeroen Reijn <j.re...@onehippo.com>
Subject Re: Clustering Question
Date Tue, 05 Feb 2013 09:57:41 GMT
On Mon, Feb 4, 2013 at 11:10 AM, Luke Noel-Storr
<luke.noel-storr@integrate.co.uk> wrote:
> Hi,
>
> I'm working on a project where we are using JCR and Jackrabbit to store data, the project
will be deployed on load balanced Websphere instances, and I have a few questions about the
best way to set this up.
>
> Though the project is being deployed to a J2EE container, it is just a basic servlet
application, and so so far I have just been using the embedded servlet version of Jackrabbit.
>
> The application is being deployed in our client's infrastructure, and so we don't have
much control over the environment, and anything which strays from their standard deployment
is usually a PITA.
>
> We will be using Oracle for the persistence layer (Oracle 9i), acquiring the connection
via JNDI.
>
> I've read the closeting section of the wiki, but have some questions:
>
>>       • Each cluster node must have its own repository configuration.
>
> Does this need to differ from node to node? Can it be included in the EAR/WAR? Can the
parts that need to differ be programatically applied at startup (for example, could we programatically
at startup set the node-id to the current machine name?)

Yes can be included in the EAR/WAR.

>
>
>>       • A DataStore must always be shared between nodes, if used.
>
>
> I think this should be fine, with a DataStore on Oracle, correct?

Yes

>
>
>>       • The global FileSystem on the repository level must be shared (only the
one that
>>       is on the same level as the data store; only in the repository.xml file).
>
>
> I'm a bit lost here, the FileSystem link in the wiki goes nowhere but looking up FileSystem
on this page:
>
> http://jackrabbit.apache.org/jackrabbit-configuration.html#JackrabbitConfiguration-Filesystemconfiguration
>
> It seems we could use a Database file system.  Would this meet the above requirement?
 Also, I see there is an OracleFileSystem but not an Oracle9FileSystem, is the OracleFileSystem
compatible with Oracle 9i?
>

I'm not sure about this part. It could be yes.

>
>>       • Each cluster node needs its own (private) workspace level and version FileSystem
>>        (only those within the workspace and versioning configuration; the ones in
the
>>       repository.xml and workspace.xml file).
>
>
> Ah, but if I use a DBFileSystem, does that break this requirement?  How do I specify
a separate FileSystem for the repository level and workspace level?
>
> Also, unrelated to clustering, if I use a DB file system, will this mean no files need
to be written to the disk from Jackrabbit (as the client are also funny about that on their
infrastructure), or would some components (Lucene) still need to write down files?

Yes Lucene will still need to write to the local filesystem.

>
>
>>       • Each cluster node needs its own (private) Search indexes.
>
> Ah, so this probably would be Lucene writing files to the disk, right?

Yes

>
>
>>       • Every cluster node must be assigned a unique ID.
>
>
> As mentioned earlier, can this be set programatically?

Not sure about that, but I've seen quite some cases where it is set as
a system property for the specific container during startup.

>
>
>>       • A journal type must be chosen, either based on files or stored in a database.
>>       • Each cluster node must use the same (shared) journal.
>
> I think I'm OK on these, just use a DB journal? (Oracle 9i OK?)

Yes.

>
>
>>       • The persistence managers must store their data in the same, globally
>>       accessible location (see PersistenceManagerFAQ).
>
> Again, just use Oracle, and all OK, correct?

Yes.

>
>
> Also, and advice on locking would be appreciated.
>

Sorry can't help you with this one.

>
> And finally, a question about the persistence around this:
>
>> If you use a database persistence manager, the configured database connection must
not be under the control of an external transaction manager. Jackrabbit implements distributed
XA transaction support on a higher level, and expects to be in full control of the underlying
database connection.
>
> How would I know if it is under the control of an external transaction manager? Would
this be configured in websphere?
>

Sorry can't help you with this one.

>
> Sorry for so many questions, we're on a super tight deadline (is there any other kind),
so I don't have to to experiment with stuff.
>

No problem I hope somebody else can answer the other questions.

>
> Many Thanks,
>
> Luke Noel-Storr.
> ----------------
>
> Integrated Publishing Solutions Ltd.
> Tel: +44 (0)1926 889199
> http://www.integrate.co.uk
>
>
>



-- 
Jeroen Reijn
Solution Architect
Hippo

Amsterdam - Oosteinde 11, 1017 WT Amsterdam
Boston - 1 Broadway, Cambridge, MA 02142

US +1 877 414 4776 (toll free)
Europe +31(0)20 522 4466
www.onehippo.com

http://about.me/jeroenreijn

Mime
View raw message