Upgrade to Shared Nothing Clustering

Question

After upgrading a CRX2.0/2.1 repository to CRX2.2, how is it possible to upgrade to the new Shared Nothing clustering [1] mode?

Answer

For backwards compatibility reasons, the upgrade process to CRX2.2 does not change the previous repository layout:

  • upgraded CRX2.2 instance will still run with the previous configured clustering mode based on a shared directory (local copies + shared persistence)
  • Jackrabbit FileJournal [2]
  • Jackrabbit FileDataStore [3]

The new Shared Nothing mode basically removes the need for a shared folder which needs to be accessible to all nodes in a cluster (e.g. using NFS). Instead, all the three main storage areas are stored locally on each cluster node; synchronization is done fully over the network:

  1. Workspaces (TarPM)
  2. DataStore
  3. Journal

In order to upgrade to the Shared Nothing clustering mode, the following steps are required:

  • make sure that the upgrade itself was performed successfully and the repository is accessible afterwards
  • if running multiple CQ/CRX instances in a cluster, ensure that all cluster nodes are in sync
  • stop (all cluster) instance(s)
  • backup instance(s)

Next, the repository.xml configuration needs to be adapted to use the new classes for both DataStore and Journal:

    <DataStore class="com.day.crx.core.data.ClusterDataStore"/>
    ...
    <Cluster>
        <Journal class="com.day.crx.persistence.tar.TarJournal"/>
    </Cluster>

Then perform the following operations on FS level to reorganize the data to be used in the Shared Nothing mode:

  • move all files from crx-quickstart/repository/workspaces/crx.default/copy to crx-quickstart/repository/workspaces/crx.default (do this for all workspaces)
  • move all files from crx-quickstart/repository/version/copy to crx-quickstart/repository/version
  • move the folder crx-quickstart/repository/shared/repository/datastore to
    crx-quickstart/repository/repository/datastore
  • move all files from crx-quickstart/repository/shared/namespaces to
    crx-quickstart/repository/repository/namespaces
  • move all files from crx-quickstart/repository/shared/nodetypes to
    crx-quickstart/repository/repository/nodetypes
  • delete the file crx-quickstart/repository/revision.log
  • delete the directory crx-quickstart/repository/shared
  • start the instance(s)

Applies to

CRX 2.2

 Adobe

Get help faster and easier

New user?

Adobe MAX 2024

Adobe MAX

The Creativity Conference

Oct 14–16 Miami Beach and online

Adobe MAX 2024

Adobe MAX

The Creativity Conference

Oct 14–16 Miami Beach and online