You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jackrabbit.apache.org by Dennis van der Laan <d....@rug.nl> on 2009/12/11 11:15:34 UTC

clustering configuration question

Hi,

I'm a little confused about the clustering configuration. The wiki page
(http://wiki.apache.org/jackrabbit/Clustering) first says all cluster
nodes need their own private FileSystem and Search index. But the
requirements section does not mention the FileSystem configuration.

I currently have (as it seems) a working cluster setup with two nodes
(different machines), but I'm very suspicious about the configuration.
Here it is:

    <Cluster id="node1">
        <Journal
class="org.apache.jackrabbit.core.journal.OracleDatabaseJournal">
            <param name="revision" value="${rep.home}/revision.log" />
            <param name="driver" value="oracle.jdbc.driver.OracleDriver" />
            <param name="url" value="<db_url>" />
            <param name="user" value="<db_user>"/>
            <param name="password" value="<db_passwd>"/>
        </Journal>
    </Cluster>

    <FileSystem class="org.apache.jackrabbit.core.fs.db.OracleFileSystem">
        <param name="url" value="<db_url>"/>
        <param name="user" value="<db_user>"/>
        <param name="password" value="<db_passwd>"/>
        <param name="schemaObjectPrefix" value="rep_"/>
    </FileSystem>

    <Security ... />

    <Workspace name="${wsp.name}">
        <FileSystem
class="org.apache.jackrabbit.core.fs.db.OracleFileSystem">
            <param name="url" value="<db_url>"/>
            <param name="user" value="<db_user>"/>
            <param name="password" value="<db_passwd>"/>
            <param name="schemaObjectPrefix" value="wrk_"/>
        </FileSystem>

        <PersistenceManager
class="org.apache.jackrabbit.core.persistence.db.OraclePersistenceManager">
            <param name="url" value="<db_url>"/>
            <param name="user" value="<db_user>"/>
            <param name="password" value="<db_passwd>"/>
            <param name="schemaObjectPrefix" value="${wsp.name}_"/>
            <param name="externalBLOBs" value="false"/>
        </PersistenceManager>

        <SearchIndex ... />
    </Workspace>

    <Versioning rootPath="${rep.home}/version">
        <FileSystem
class="org.apache.jackrabbit.core.fs.db.OracleFileSystem">
            <param name="url" value="<db_url>"/>
            <param name="user" value="<db_user>"/>
            <param name="password" value="<db_passwd>"/>
            <param name="schemaObjectPrefix" value="ver_"/>
        </FileSystem>

        <PersistenceManager
class="org.apache.jackrabbit.core.persistence.db.OraclePersistenceManager">
            <param name="url" value="<db_url>"/>
            <param name="user" value="<db_user>"/>
            <param name="password" value="<db_passwd>"/>
            <param name="schemaObjectPrefix" value="version_"/>
            <param name="externalBLOBs" value="false"/>
        </PersistenceManager>
    </Versioning>

    <SearchIndex ... />
    <DataStore ... />

For the second cluster node, the repository.xml file is almost the same,
except the global <Cluster> and <FileSystem> configurations:

    <Cluster id="node2">
        <Journal
class="org.apache.jackrabbit.core.journal.OracleDatabaseJournal">
            <param name="revision" value="${rep.home}/revision.log" />
            <param name="driver" value="oracle.jdbc.driver.OracleDriver" />
            <param name="url" value="<db_url>" />
            <param name="user" value="<db_user>"/>
            <param name="password" value="<db_passwd>"/>
        </Journal>
    </Cluster>

    <FileSystem class="org.apache.jackrabbit.core.fs.db.OracleFileSystem">
        <param name="url" value="<db_url>"/>
        <param name="user" value="<db_user>"/>
        <param name="password" value="<db_passwd>"/>
        <param name="schemaObjectPrefix" value="rep_node2_"/>
    </FileSystem>

So basically, the cluster id's are different (duh) and only the global
filesystem is different. The tables used for the workspace filesystem
and versioning are the same. I imagine all filesystems should be either
different or all the same for all cluster nodes. Could anybody shed some
light on this?

TIA
Dennis

-- 
Dennis van der Laan


Re: clustering configuration question

Posted by Alexander Klimetschek <ak...@day.com>.
On Fri, Dec 11, 2009 at 11:15, Dennis van der Laan
<d....@rug.nl> wrote:
> I'm a little confused about the clustering configuration. The wiki page
> (http://wiki.apache.org/jackrabbit/Clustering) first says all cluster
> nodes need their own private FileSystem and Search index. But the
> requirements section does not mention the FileSystem configuration.
>
> I currently have (as it seems) a working cluster setup with two nodes
> (different machines), but I'm very suspicious about the configuration.
> Here it is:
>
>    <Cluster id="node1">
>        <Journal
> class="org.apache.jackrabbit.core.journal.OracleDatabaseJournal">
>            <param name="revision" value="${rep.home}/revision.log" />
>            <param name="driver" value="oracle.jdbc.driver.OracleDriver" />
>            <param name="url" value="<db_url>" />
>            <param name="user" value="<db_user>"/>
>            <param name="password" value="<db_passwd>"/>
>        </Journal>
>    </Cluster>
>
>    <FileSystem class="org.apache.jackrabbit.core.fs.db.OracleFileSystem">
>        <param name="url" value="<db_url>"/>
>        <param name="user" value="<db_user>"/>
>        <param name="password" value="<db_passwd>"/>
>        <param name="schemaObjectPrefix" value="rep_"/>
>    </FileSystem>
>
>    <Security ... />
>
>    <Workspace name="${wsp.name}">
>        <FileSystem
> class="org.apache.jackrabbit.core.fs.db.OracleFileSystem">
>            <param name="url" value="<db_url>"/>
>            <param name="user" value="<db_user>"/>
>            <param name="password" value="<db_passwd>"/>
>            <param name="schemaObjectPrefix" value="wrk_"/>
>        </FileSystem>
>
>        <PersistenceManager
> class="org.apache.jackrabbit.core.persistence.db.OraclePersistenceManager">
>            <param name="url" value="<db_url>"/>
>            <param name="user" value="<db_user>"/>
>            <param name="password" value="<db_passwd>"/>
>            <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>            <param name="externalBLOBs" value="false"/>
>        </PersistenceManager>
>
>        <SearchIndex ... />
>    </Workspace>
>
>    <Versioning rootPath="${rep.home}/version">
>        <FileSystem
> class="org.apache.jackrabbit.core.fs.db.OracleFileSystem">
>            <param name="url" value="<db_url>"/>
>            <param name="user" value="<db_user>"/>
>            <param name="password" value="<db_passwd>"/>
>            <param name="schemaObjectPrefix" value="ver_"/>
>        </FileSystem>
>
>        <PersistenceManager
> class="org.apache.jackrabbit.core.persistence.db.OraclePersistenceManager">
>            <param name="url" value="<db_url>"/>
>            <param name="user" value="<db_user>"/>
>            <param name="password" value="<db_passwd>"/>
>            <param name="schemaObjectPrefix" value="version_"/>
>            <param name="externalBLOBs" value="false"/>
>        </PersistenceManager>
>    </Versioning>
>
>    <SearchIndex ... />
>    <DataStore ... />
>
> For the second cluster node, the repository.xml file is almost the same,
> except the global <Cluster> and <FileSystem> configurations:
>
>    <Cluster id="node2">
>        <Journal
> class="org.apache.jackrabbit.core.journal.OracleDatabaseJournal">
>            <param name="revision" value="${rep.home}/revision.log" />
>            <param name="driver" value="oracle.jdbc.driver.OracleDriver" />
>            <param name="url" value="<db_url>" />
>            <param name="user" value="<db_user>"/>
>            <param name="password" value="<db_passwd>"/>
>        </Journal>
>    </Cluster>
>
>    <FileSystem class="org.apache.jackrabbit.core.fs.db.OracleFileSystem">
>        <param name="url" value="<db_url>"/>
>        <param name="user" value="<db_user>"/>
>        <param name="password" value="<db_passwd>"/>
>        <param name="schemaObjectPrefix" value="rep_node2_"/>
>    </FileSystem>
>
> So basically, the cluster id's are different (duh) and only the global
> filesystem is different. The tables used for the workspace filesystem
> and versioning are the same. I imagine all filesystems should be either
> different or all the same for all cluster nodes. Could anybody shed some
> light on this?

Use a LocalFileSystem for all the FileSystem occurrences. It is not
used by the persistence manager you have chosen (AFAICS), hence no
data will be stored there. See also here:
http://jackrabbit.apache.org/jackrabbit-configuration.html#JackrabbitConfiguration-Filesystemconfiguration

Regards,
Alex

-- 
Alexander Klimetschek
alexander.klimetschek@day.com