[exo-jcr-commits] exo-jcr SVN: r1842 - jcr/trunk/docs/reference/en/src/main/docbook/en-us/modules.

do-not-reply at jboss.org do-not-reply at jboss.org
Tue Feb 16 12:02:50 EST 2010


Author: dkatayev
Date: 2010-02-16 12:02:49 -0500 (Tue, 16 Feb 2010)
New Revision: 1842

Added:
   jcr/trunk/docs/reference/en/src/main/docbook/en-us/modules/cluster-config.xml
Log:
EXOJCR-490 article describing launching JCR in cluster added

Added: jcr/trunk/docs/reference/en/src/main/docbook/en-us/modules/cluster-config.xml
===================================================================
--- jcr/trunk/docs/reference/en/src/main/docbook/en-us/modules/cluster-config.xml	                        (rev 0)
+++ jcr/trunk/docs/reference/en/src/main/docbook/en-us/modules/cluster-config.xml	2010-02-16 17:02:49 UTC (rev 1842)
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+"http://www.oasis-open.org/docbook/xml/4.3b2/docbookx.dtd">
+<article>
+  <articleinfo>
+    <title>Configuring JBoss AS with eXo JCR in cluster</title>
+  </articleinfo>
+
+  <sect1>
+    <title>Launching Cluster</title>
+
+    <sect2>
+      <title>Deploying eXo JCR to JBoss As</title>
+
+      <para>To deploy eXo JCR to JBoss As follow next steps:</para>
+
+      <orderedlist>
+        <listitem>
+          <para>Dowload the latest version of eXo JCR ear distribution from
+          [LINK THERE]</para>
+        </listitem>
+
+        <listitem>
+          <para>Copy &lt;jcr.ear&gt; into
+          &lt;%jboss_home%/server/default/deploy&gt;</para>
+        </listitem>
+
+        <listitem>
+          <para>Put exo-configuration.xml to the root
+          &lt;%jboss_home%/exo-configuration.xml&gt;</para>
+        </listitem>
+
+        <listitem>
+          <para>Configure JAAS by inserting XML fragment shown below into
+          &lt;%jboss_home%/server/default/conf/login-config.xml&gt;</para>
+
+          <programlisting>&lt;application-policy name="exo-domain"&gt;
+   &lt;authentication&gt;
+      &lt;login-module code="org.exoplatform.services.security.j2ee.JbossLoginModule" flag="required"&gt;&lt;/login-module&gt;
+   &lt;/authentication&gt;
+&lt;/application-policy&gt;</programlisting>
+        </listitem>
+
+        <listitem>
+          <para>Start server:</para>
+
+          <itemizedlist>
+            <listitem>
+              <para>bin/run.sh for Unix</para>
+            </listitem>
+
+            <listitem>
+              <para>bin/run.bat for Windows</para>
+            </listitem>
+          </itemizedlist>
+        </listitem>
+
+        <listitem>
+          <para>Try accessing <ulink
+          url="http://localhost:8080/browser">http://localhost:8080/browser</ulink>
+          with root/exo as login/password if you have done everything right,
+          you'll get access to repository browser.</para>
+        </listitem>
+      </orderedlist>
+    </sect2>
+
+    <sect2>
+      <title>Configuring JCR to use external configuration</title>
+
+      <itemizedlist>
+        <listitem>
+          <para>To manually configure repository create a new configuration
+          file (f.e. exo-jcr-configuration.xml). For details see <ulink
+          url="http://wiki.exoplatform.org/xwiki/bin/view/JCR/#HConfiguration">JCR
+          Configuration</ulink>. Your configuration must look like:</para>
+
+          <programlisting>&lt;repository-service default-repository="repository1"&gt;
+   &lt;repositories&gt;
+      &lt;repository name="repository1" system-workspace="ws1" default-workspace="ws1"&gt;
+         &lt;security-domain&gt;exo-domain&lt;/security-domain&gt;
+         &lt;access-control&gt;optional&lt;/access-control&gt;
+         &lt;authentication-policy&gt;org.exoplatform.services.jcr.impl.core.access.JAASAuthenticator&lt;/authentication-policy&gt;
+         &lt;workspaces&gt;
+            &lt;workspace name="ws1"&gt;
+               &lt;container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer"&gt;
+                  &lt;properties&gt;
+                     &lt;property name="source-name" value="jdbcjcr" /&gt;
+                     &lt;property name="dialect" value="oracle" /&gt;
+                     &lt;property name="multi-db" value="false" /&gt;
+                     &lt;property name="update-storage" value="false" /&gt;
+                     &lt;property name="max-buffer-size" value="200k" /&gt;
+                     &lt;property name="swap-directory" value="../temp/swap/production" /&gt;
+                  &lt;/properties&gt;
+                  &lt;value-storages&gt;
+                     see "Value storage configuration" part.
+                  &lt;/value-storages&gt;
+               &lt;/container&gt;
+               &lt;initializer class="org.exoplatform.services.jcr.impl.core.ScratchWorkspaceInitializer"&gt;
+                  &lt;properties&gt;
+                     &lt;property name="root-nodetype" value="nt:unstructured" /&gt;
+                  &lt;/properties&gt;
+               &lt;/initializer&gt;
+               &lt;cache enabled="true" class="org.exoplatform.services.jcr.impl.dataflow.persistent.jbosscache.JBossCacheWorkspaceStorageCache"&gt;
+                     see "Cache configuration" part.
+               &lt;/cache&gt;
+               &lt;query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex"&gt;
+                  see "Indexer configuration" part.
+               &lt;/query-handler&gt;
+               &lt;lock-manager class="org.exoplatform.services.jcr.impl.core.lock.jbosscache.CacheableLockManagerImpl"&gt;
+                  see "Lock Manager configuration" part.
+               &lt;/lock-manager&gt;
+            &lt;/workspace&gt;
+            &lt;workspace name="ws2"&gt;
+                        ...
+            &lt;/workspace&gt;
+            &lt;workspace name="wsN"&gt;
+                        ...
+            &lt;/workspace&gt;
+         &lt;/workspaces&gt;
+      &lt;/repository&gt;
+   &lt;/repositories&gt;
+&lt;/repository-service&gt; </programlisting>
+        </listitem>
+
+        <listitem>
+          <para>and update RepositoryServiceConfiguration configuration in
+          exo-configuration.xml to use this file:<programlisting>&lt;component&gt;
+   &lt;key&gt;org.exoplatform.services.jcr.config.RepositoryServiceConfiguration&lt;/key&gt;
+   &lt;type&gt;org.exoplatform.services.jcr.impl.config.RepositoryServiceConfigurationImpl&lt;/type&gt;
+   &lt;init-params&gt;
+      &lt;value-param&gt;
+         &lt;name&gt;conf-path&lt;/name&gt;
+         &lt;description&gt;JCR configuration file&lt;/description&gt;
+         &lt;value&gt;exo-jcr-configuration.xml&lt;/value&gt;
+      &lt;/value-param&gt;
+   &lt;/init-params&gt;
+&lt;/component&gt;</programlisting></para>
+        </listitem>
+      </itemizedlist>
+    </sect2>
+  </sect1>
+
+  <sect1>
+    <title>Requirements</title>
+
+    <sect2>
+      <title>Enviorenment requirements</title>
+
+      <itemizedlist>
+        <listitem>
+          <para>Every node of cluster MUST have the same mounted Network File
+          System with read and write permissions on it.</para>
+
+          <para>"/mnt/tornado" - path to the mounted Network File System (all
+          cluster nodes must use the same NFS)</para>
+        </listitem>
+
+        <listitem>
+          <para>Every node of cluster MUST use the same database</para>
+        </listitem>
+
+        <listitem>
+          <para>Same Clusters on different nodes MUST have the same cluster
+          names (f.e if Indexer cluster in workspace production on the first
+          node has name "production_indexer_cluster", then indexer clusters in
+          workspace production on all other nodes MUST have the same name
+          "production_indexer_cluster" )</para>
+        </listitem>
+      </itemizedlist>
+    </sect2>
+
+    <sect2>
+      <title>Enviorenment requirements</title>
+
+      <para>Configuration of every workspace in repository must contains of
+      such parts:</para>
+
+      <itemizedlist>
+        <listitem>
+          <para>Value Storage configuration:</para>
+
+          <programlisting>&lt;value-storages&gt;
+   &lt;value-storage id="system" class="org.exoplatform.services.jcr.impl.storage.value.fs.TreeFileValueStorage"&gt;
+      &lt;properties&gt;
+         &lt;property name="path" value="/mnt/tornado/temp/values/production" /&gt;    -    path within NFS where ValueStorage will hold it's data
+      &lt;/properties&gt;
+      &lt;filters&gt;
+         &lt;filter property-type="Binary" /&gt;
+      &lt;/filters&gt;
+   &lt;/value-storage&gt;
+&lt;/value-storages&gt;</programlisting>
+        </listitem>
+      </itemizedlist>
+
+      <itemizedlist>
+        <listitem>
+          <para>Cache configuration:</para>
+
+          <programlisting>&lt;cache enabled="true" class="org.exoplatform.services.jcr.impl.dataflow.persistent.jbosscache.JBossCacheWorkspaceStorageCache"&gt;
+   &lt;properties&gt;
+      &lt;property name="jbosscache-configuration" value="jar:/conf/portal/test-jbosscache-data.xml" /&gt;     -    path to JBoss Cache configuration for data storage
+      &lt;property name="jgroups-configuration" value="jar:/conf/portal/udp-mux.xml" /&gt;                     -    path to JGroups configuration
+      &lt;property name="jbosscache-cluster-name" value="JCR_Cluster_cache_production" /&gt;                   -    JBoss Cache data storage cluster name
+      &lt;property name="jgroups-multiplexer-stack" value="true" /&gt;
+   &lt;/properties&gt;
+&lt;/cache&gt; </programlisting>
+        </listitem>
+      </itemizedlist>
+
+      <itemizedlist>
+        <listitem>
+          <para>Indexer configuration:</para>
+
+          <programlisting>&lt;query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex"&gt;
+   &lt;properties&gt;
+      &lt;property name="changesfilter-class" value="org.exoplatform.services.jcr.impl.core.query.jbosscache.JBossCacheIndexChangesFilter" /&gt;
+      &lt;property name="index-dir" value="/mnt/tornado/temp/jcrlucenedb/production" /&gt;                       -    path within NFS where ValueStorage will hold it's data
+      &lt;property name="jbosscache-configuration" value="jar:/conf/portal/test-jbosscache-indexer.xml" /&gt;    -    path to JBoss Cache configuration for indexer
+      &lt;property name="jgroups-configuration" value="jar:/conf/portal/udp-mux.xml" /&gt;                       -    path to JGroups configuration
+      &lt;property name="jbosscache-cluster-name" value="JCR_Cluster_indexer_production" /&gt;                   -    JBoss Cache indexer cluster name
+      &lt;property name="jgroups-multiplexer-stack" value="true" /&gt;
+   &lt;/properties&gt;
+&lt;/query-handler&gt; </programlisting>
+        </listitem>
+
+        <listitem>
+          <para>Lock Manager configuration:</para>
+
+          <programlisting>&lt;lock-manager class="org.exoplatform.services.jcr.impl.core.lock.jbosscache.CacheableLockManagerImpl"&gt;
+   &lt;properties&gt;
+      &lt;property name="time-out" value="15m" /&gt;
+      &lt;property name="jbosscache-configuration" value="jar:/conf/portal/test-jbosscache-lock.xml" /&gt;       -    path to JBoss Cache configuration for lock manager
+      &lt;property name="jgroups-configuration" value="jar:/conf/portal/udp-mux.xml" /&gt;                       -    path to JGroups configuration
+      &lt;property name="jgroups-multiplexer-stack" value="true" /&gt;
+      &lt;property name="jbosscache-cluster-name" value="JCR_Cluster_lock_production" /&gt;                      -    JBoss Cache locks cluster name
+                     
+      &lt;property name="jbosscache-cl-cache.jdbc.table.name" value="jcrlocks_production"/&gt;                   -    the name of the DB table where lock's data will be stored
+      &lt;property name="jbosscache-cl-cache.jdbc.table.create" value="true"/&gt;
+      &lt;property name="jbosscache-cl-cache.jdbc.table.drop" value="false"/&gt;
+      &lt;property name="jbosscache-cl-cache.jdbc.table.primarykey" value="jcrlocks_production_pk"/&gt;
+      &lt;property name="jbosscache-cl-cache.jdbc.fqn.column" value="fqn"/&gt;
+      &lt;property name="jbosscache-cl-cache.jdbc.node.column" value="node"/&gt;
+      &lt;property name="jbosscache-cl-cache.jdbc.parent.column" value="parent"/&gt;
+      &lt;property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr"/&gt;
+   &lt;/properties&gt;
+&lt;/lock-manager&gt;</programlisting>
+        </listitem>
+      </itemizedlist>
+    </sect2>
+  </sect1>
+</article>



More information about the exo-jcr-commits mailing list