Expand my Community achievements bar.

Learn about Edge Delivery Services in upcoming GEM session
SOLVED

Question about AEM 6.1 Data Store Configuration

Avatar

Level 4

Hi,

We would like to run a clustered AEM 6.1 environment, which is backed by a clustered Mongo DB.  We are able to do so, but only with both AEM 6.1 sharing the same Data Store.  Is it possible to have each instance of AEM 6.1 use it's own data store?  

Our repository.home value for org.apache.jackrabbit.oak.plugins.blob.datastore.FileDataStore.cfg is crx-quickstart/repository/repository/datastore

For instance1, the above works.

For instance2, if we point to the same datastore folder as instance1, instance2 can start up

However, if we make a duplicate of instance1's crx-quickstart/repository/repository/datastore folder and put it into instance2's crx-qcuikstart/repository/repository folder and update instance2's repository.home value for org.apache.jackrabbit.oak.plugins.blob.datastore.FileDataStore.cfg to instance2's crx-quickstart/repository/repository/datastore folder, then instance2 will fail to start.

We looked at https://docs.adobe.com/docs/en/aem/6-0/deploy/upgrade/data-store-config.html and failed to discern if it is possible to actually have each AEM use its own data store.  Is this setup even valid?  If it is, how is it done?  How do blobs get synchronized across AEM instances if data stores are duplicated across AEM instances that are hosted on different servers?

Thank You

1 Accepted Solution

Avatar

Correct answer by
Employee

 

As far as I am aware, you don't need to use the file data store[1]. If you do the simplest setup with MongoDB and AEM, you don't need to set the file data store[2][3], but if you do use a filedatastore it has to be on a shared drive. However, according to the documentation [4] "It is highly recommended to configure the datastore on a shared file system or Amazon S3, such that the assets or binaries are not stored within MongoDB. This will ensure optimal performance within the deployment."

Regards,

Opkar

[1] https://docs.adobe.com/docs/en/aem/6-0/deploy/upgrade/data-store-config.html

[2] http://blogs.adobe.com/contentmanagement/2014/07/22/aem6-mongo-minimal-setup/

[3] http://www.citytechinc.com/us/en/blog/2015/05/aem-6-x-mongo-backed-clustered-author-setup.html

[4] http://docs.adobe.com/docs/en/aem/6-1/deploy/recommended-deploys.html

View solution in original post

2 Replies

Avatar

Correct answer by
Employee

 

As far as I am aware, you don't need to use the file data store[1]. If you do the simplest setup with MongoDB and AEM, you don't need to set the file data store[2][3], but if you do use a filedatastore it has to be on a shared drive. However, according to the documentation [4] "It is highly recommended to configure the datastore on a shared file system or Amazon S3, such that the assets or binaries are not stored within MongoDB. This will ensure optimal performance within the deployment."

Regards,

Opkar

[1] https://docs.adobe.com/docs/en/aem/6-0/deploy/upgrade/data-store-config.html

[2] http://blogs.adobe.com/contentmanagement/2014/07/22/aem6-mongo-minimal-setup/

[3] http://www.citytechinc.com/us/en/blog/2015/05/aem-6-x-mongo-backed-clustered-author-setup.html

[4] http://docs.adobe.com/docs/en/aem/6-1/deploy/recommended-deploys.html

Avatar

Level 2

Voon Siong wrote...

Hi,

We would like to run a clustered AEM 6.1 environment, which is backed by a clustered Mongo DB.  We are able to do so, but only with both AEM 6.1 sharing the same Data Store.  Is it possible to have each instance of AEM 6.1 use it's own data store?  

.....

We looked at https://docs.adobe.com/docs/en/aem/6-0/deploy/upgrade/data-store-config.html and failed to discern if it is possible to actually have each AEM use its own data store.  Is this setup even valid?  If it is, how is it done?  How do blobs get synchronized across AEM instances if data stores are duplicated across AEM instances that are hosted on different servers?

Thank You

 

The cluster members have to have access to the datastore, so having the datastore in Mongo, or as a shared datastore works fine.  With each cluster member having a different datastore defined, things will break, since there is no way for the data to be shared between the cluster members.  With Oak, the 'share nothing' cluster is not possible.  All members use the same Mongo database and the datastore files have to be accessible from all members.