|
|
|
skyleaf
|
Hi,
I have problems when using the Jackrabbit clustering. Could you help me? Thank you. This is the repository.xml file in Node1: <?xml version="1.0"?> <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> <!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 1.5//EN" "http://jackrabbit.apache.org/dtd/repository-1.5.dtd"> <!-- Example Repository Configuration File Used by - org.apache.jackrabbit.core.config.RepositoryConfigTest.java - --> <Repository> <!-- virtual file system where the repository stores global state (e.g. registered namespaces, custom node types, etc.) --> <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem"> </FileSystem> <!-- security configuration --> <Security appName="Jackrabbit"> <!-- security manager: class: FQN of class implementing the JackrabbitSecurityManager interface --> <SecurityManager class="org.apache.jackrabbit.core.security.simple.SimpleSecurityManager" workspaceName="security"> <!-- workspace access: class: FQN of class implementing the WorkspaceAccessManager interface --> <!-- <WorkspaceAccessManager class="..."/> --> <!-- --> </SecurityManager> <!-- access manager: class: FQN of class implementing the AccessManager interface --> <AccessManager class="org.apache.jackrabbit.core.security.simple.SimpleAccessManager"> <!-- --> </AccessManager> <LoginModule class="org.apache.jackrabbit.core.security.simple.SimpleLoginModule"> <!-- anonymous user name ('anonymous' is the default value) --> <!-- administrator user id (default value if param is missing is 'admin') --> </LoginModule> </Security> <!-- location of workspaces root directory and name of default workspace --> <Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="default"/> <!-- workspace configuration template: used to create the initial workspace if there's no workspace yet --> <Workspace name="${wsp.name}"> <!-- virtual file system of the workspace: class: FQN of class implementing the FileSystem interface --> <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem"> </FileSystem> <!-- persistence manager of the workspace: class: FQN of class implementing the PersistenceManager interface <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager"> </PersistenceManager> --> <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.BundleFsPersistenceManager"> </PersistenceManager> <!-- Search index and the file system it uses. class: FQN of class implementing the QueryHandler interface --> <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex"> </SearchIndex> </Workspace> <!-- Configures the versioning --> <Versioning rootPath="${rep.home}/version"> <!-- Configures the filesystem to use for versioning for the respective persistence manager --> <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem"> </FileSystem> <!-- Configures the persistence manager to be used for persisting version state. Please note that the current versioning implementation is based on a 'normal' persistence manager, but this could change in future implementations. <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager"> </PersistenceManager> --> <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.BundleFsPersistenceManager"> </PersistenceManager> </Versioning> <!-- Search index for content that is shared repository wide (/jcr:system tree, contains mainly versions) --> <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex"> </SearchIndex> <!-- <DataStore class="org.apache.jackrabbit.core.data.FileDataStore"> </DataStore> --> <DataStore class="org.apache.jackrabbit.core.data.FileDataStore"> </DataStore> <Cluster id="node1"> <Journal class="org.apache.jackrabbit.core.journal.FileJournal"> </Journal> </Cluster> </Repository> And this is the repository.xml file in Node2: <?xml version="1.0"?> <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> <!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 1.5//EN" "http://jackrabbit.apache.org/dtd/repository-1.5.dtd"> <!-- Example Repository Configuration File Used by - org.apache.jackrabbit.core.config.RepositoryConfigTest.java - --> <Repository> <!-- virtual file system where the repository stores global state (e.g. registered namespaces, custom node types, etc.) --> <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem"> </FileSystem> <!-- security configuration --> <Security appName="Jackrabbit"> <!-- security manager: class: FQN of class implementing the JackrabbitSecurityManager interface --> <SecurityManager class="org.apache.jackrabbit.core.security.simple.SimpleSecurityManager" workspaceName="security"> <!-- workspace access: class: FQN of class implementing the WorkspaceAccessManager interface --> <!-- <WorkspaceAccessManager class="..."/> --> <!-- --> </SecurityManager> <!-- access manager: class: FQN of class implementing the AccessManager interface --> <AccessManager class="org.apache.jackrabbit.core.security.simple.SimpleAccessManager"> <!-- --> </AccessManager> <LoginModule class="org.apache.jackrabbit.core.security.simple.SimpleLoginModule"> <!-- anonymous user name ('anonymous' is the default value) --> <!-- administrator user id (default value if param is missing is 'admin') --> </LoginModule> </Security> <!-- location of workspaces root directory and name of default workspace --> <Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="default"/> <!-- workspace configuration template: used to create the initial workspace if there's no workspace yet --> <Workspace name="${wsp.name}"> <!-- virtual file system of the workspace: class: FQN of class implementing the FileSystem interface --> <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem"> </FileSystem> <!-- persistence manager of the workspace: class: FQN of class implementing the PersistenceManager interface <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager"> </PersistenceManager> --> <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.BundleFsPersistenceManager"> </PersistenceManager> <!-- Search index and the file system it uses. class: FQN of class implementing the QueryHandler interface --> <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex"> </SearchIndex> </Workspace> <!-- Configures the versioning --> <Versioning rootPath="${rep.home}/version"> <!-- Configures the filesystem to use for versioning for the respective persistence manager --> <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem"> </FileSystem> <!-- Configures the persistence manager to be used for persisting version state. Please note that the current versioning implementation is based on a 'normal' persistence manager, but this could change in future implementations. <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager"> </PersistenceManager> --> <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.BundleFsPersistenceManager"> </PersistenceManager> </Versioning> <!-- Search index for content that is shared repository wide (/jcr:system tree, contains mainly versions) --> <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex"> </SearchIndex> <!-- <DataStore class="org.apache.jackrabbit.core.data.FileDataStore"> </DataStore> --> <DataStore class="org.apache.jackrabbit.core.data.FileDataStore"> </DataStore> <Cluster id="node1"> <Journal class="org.apache.jackrabbit.core.journal.FileJournal"> </Journal> </Cluster> </Repository> "/home/hadoop/workspace/JackrabbitTest/clustering/datastore" and "/home/hadoop/workspace/JackrabbitTest/clustering/myjournal" are two nfs directories in Node1 Are there any problems above? When I run Jackrabbit, there are three lines of log info: INFO cluster.ClusterNode: not started: namespace operation ignored. INFO cluster.ClusterNode: not started: namespace operation ignored. INFO cluster.ClusterNode: not started: namespace operation ignored. Is that means the cluster is not built? What can I do? Thank you for your advice. |
|
Alexander Klimetschek
|
On Fri, Jul 3, 2009 at 7:50 AM, skyleaf<[hidden email]> wrote:
> <PersistenceManager > class="org.apache.jackrabbit.core.persistence.bundle.BundleFsPersistenceManager"> > </PersistenceManager> > When I run Jackrabbit, there are three lines of log info: > > INFO cluster.ClusterNode: not started: namespace operation ignored. > INFO cluster.ClusterNode: not started: namespace operation ignored. > INFO cluster.ClusterNode: not started: namespace operation ignored. Not sure how these messages build up, but note that you need a persistence manager that allows for clustering. The BundleFsPersistenceManager is not one of them. You need a central database that allows concurrent access from the various nodes. See [1] for more info. Also note that you might need to change your workspace.xml files as well (or simply drop the workspaces directory if you start from scratch) [2]. [1] http://wiki.apache.org/jackrabbit/Clustering [2] http://jackrabbit.apache.org/jackrabbit-configuration.html Regards, Alex -- Alexander Klimetschek [hidden email] |
||||||||||||||||
|
Juan Pereyra
|
Hi Alex,
So, one should also store binaries in the database? This would almost force us to use a high end database such as Oracle, wouldn't it? A few days ago I asked a similar question and got an answer from Shaun Barriball, who kindly answered that he has been using a DB/FS setup, in cluster, for 2 years without any issues. I'd really like to have my binaries on NFS and metadata on DB, in cluster, if possible or unless you think it's better otherwise. Thanks! Juan ----- Original Message ----- From: "Alexander Klimetschek" <[hidden email]> To: [hidden email] Sent: Friday, July 3, 2009 8:16:37 AM GMT -03:00 Argentina Subject: Re: About Jackrabbit clustering On Fri, Jul 3, 2009 at 7:50 AM, skyleaf<[hidden email]> wrote: > <PersistenceManager > class="org.apache.jackrabbit.core.persistence.bundle.BundleFsPersistenceManager"> > </PersistenceManager> > When I run Jackrabbit, there are three lines of log info: > > INFO cluster.ClusterNode: not started: namespace operation ignored. > INFO cluster.ClusterNode: not started: namespace operation ignored. > INFO cluster.ClusterNode: not started: namespace operation ignored. Not sure how these messages build up, but note that you need a persistence manager that allows for clustering. The BundleFsPersistenceManager is not one of them. You need a central database that allows concurrent access from the various nodes. See [1] for more info. Also note that you might need to change your workspace.xml files as well (or simply drop the workspaces directory if you start from scratch) [2]. [1] http://wiki.apache.org/jackrabbit/Clustering [2] http://jackrabbit.apache.org/jackrabbit-configuration.html Regards, Alex -- Alexander Klimetschek [hidden email] |
||||||||||||||||
|
Alexander Klimetschek
|
On Fri, Jul 3, 2009 at 3:10 PM, Juan Pereyra<[hidden email]> wrote:
> Hi Alex, > > So, one should also store binaries in the database? This would almost force us to use a high end database such as Oracle, wouldn't it? Using the datastore for binaries works with clustering, since the items are stored by a unqiue md5 hash of their content. Thus all clusters can point to the same datastore, eg. a FileDataStore on a NFS. See http://wiki.apache.org/jackrabbit/DataStore I also updated http://wiki.apache.org/jackrabbit/Clustering to include the DataStore. Regards, Alex -- Alexander Klimetschek [hidden email] |
||||||||||||||||
|
Juan Pereyra
|
It's much clearer now, at least to me.
Thanks Alex! Juan ----- Original Message ----- From: "Alexander Klimetschek" <[hidden email]> To: [hidden email] Sent: Friday, July 3, 2009 1:50:27 PM GMT -03:00 Argentina Subject: Re: About Jackrabbit clustering On Fri, Jul 3, 2009 at 3:10 PM, Juan Pereyra<[hidden email]> wrote: > Hi Alex, > > So, one should also store binaries in the database? This would almost force us to use a high end database such as Oracle, wouldn't it? Using the datastore for binaries works with clustering, since the items are stored by a unqiue md5 hash of their content. Thus all clusters can point to the same datastore, eg. a FileDataStore on a NFS. See http://wiki.apache.org/jackrabbit/DataStore I also updated http://wiki.apache.org/jackrabbit/Clustering to include the DataStore. Regards, Alex -- Alexander Klimetschek [hidden email] |
||||||||||||||||
| Free Embeddable Forum Powered by Nabble | Help |