Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.
SOLVED

External Data Store - AEM 6.1

Avatar

Level 10

How to configure the external storage (File DataStore) while installing AEM 6 / 6.1

1 Accepted Solution

Avatar

Correct answer by
Employee

Hi,

I used this guide [1]. I just tried it and I still get the segment store created(72MB), but my custom datastore path is populated with content (1.03GB)

1. Unpack AEM jar

java -jar aem-6.1.0.20150521-generic.jar -unpack

2. Create install folder and config files.

In "crx-quickstart/install" I created the files below:

org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService.cfg

customBlobStore=true

org.apache.jackrabbit.oak.plugins.blob.datastore.FileDataStore.cfg
minRecordLength=4096
path=/opt/6.1/test/ds
cacheSizeInMB=128

3. Start AEM, I double clicked on the jar

 

Does the process running AEM definitely have permissions to write to your custom datastore location?

Regards,

Opkar

[1]http://cq-ops.tumblr.com/post/100082914569/how-to-host-aem-6-tarmk-data-store-on-a-separate

View solution in original post

11 Replies

Avatar

Correct answer by
Employee

Hi,

I used this guide [1]. I just tried it and I still get the segment store created(72MB), but my custom datastore path is populated with content (1.03GB)

1. Unpack AEM jar

java -jar aem-6.1.0.20150521-generic.jar -unpack

2. Create install folder and config files.

In "crx-quickstart/install" I created the files below:

org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService.cfg

customBlobStore=true

org.apache.jackrabbit.oak.plugins.blob.datastore.FileDataStore.cfg
minRecordLength=4096
path=/opt/6.1/test/ds
cacheSizeInMB=128

3. Start AEM, I double clicked on the jar

 

Does the process running AEM definitely have permissions to write to your custom datastore location?

Regards,

Opkar

[1]http://cq-ops.tumblr.com/post/100082914569/how-to-host-aem-6-tarmk-data-store-on-a-separate

Avatar

Level 10

Thanks for you response kunal ! Tried below steps and was still not able to get it

1. Unpack the aem jar

2. copy the install folder with config files

3. started AEM using jar

Still, I see it creates the segmentStore under repository folder and when I upload some binary files using dam, it doesnt store in the data file store. Anything missing here ??

Avatar

Employee Advisor

Did you name the configuration file with *.config or *.cfg extension ? Try with *.config if you created them with *.cfg. 

Avatar

Level 2

Hi bsloki,

Did you get resolution to the problem with using an external data store. I am trying the same but external data store doesn't get created. I am using following configurations

*****************************************************org.apache.jackrabbit.oak.plugins.blob.datastore.FileDataStore.config*****************************

#The minimum size of an object that should be stored in this data store.
minRecordLength=100

 

****************************************************************************************************************************************************************

 

*******************************************************org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService.config********************

repository.home=crx-quickstart\repository
customBlobStore=True

 

****************************************************************************************************************************************************************

 

I also have a detailed post on this issue. Any help will be appreciated.

Avatar

Employee

Hi,

you have set the wrong parameter and are not using typed values, you are setting repository.home, you should be setting path

org.apache.jackrabbit.oak.plugins.blob.datastore.FileDataStore.config

path=<your location>

minRecordLength=I"10240"

Values in org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService.config must be typed so the contents should be

customBlobStore=B"true"

Regards,

Opkar

Avatar

Level 2

Opkar,

Thanks for your reply. I modified the configurations and created a new instance. I do have a datastore created now. However i have a question

1. What is the min record length that you suggested. I10240 is in what units. I would like to store everything about 2MB to be on separate data store. So what should be the configuration for minRecordLength.

Avatar

Employee

Hi,

my values were example parameters(which contained a typo, apologies for that) but you should determine what is the correct value for your application. The value is in bytes. Typically you would set it to 4096, this means that anything above 4k would be saved to the external file datastore, anything smaller, is saved in the internal segmentstore. You can check with daycare, but I think the recommended maximum value is 8k.

Regards,

Opkar

Avatar

Level 2

HI,

I am upgrading from 5.6.1 to 6.2.

I have set the same values as mentioned above for seperate File dataStore

FIleDataStore.cfg

path=./crx-quickstart/datastore
minRecordLength=I"4096"

 

SegmentNodeStoreService.cfg

customBlobStore=B"false"

 

 

But it is creating the file with 0KB.

I tried setting the customBlobStore to true also.

Also tried with below settings:

SegmentNodeStoreService.cfg

customBlobStore=false
tarmk.size=256

 

FIleDataStore.cfg

path=D:\\BLOBStore
minRecordLength=4096

Avatar

Employee

Hi,

when you say the same filename, do you mean the long filename:

org.apache.jackrabbit.oak.plugins.blob.datastore.FileDataStore.config and org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService.cfg

 

Can you describe the exact steps you are taking: From unpacking to creating the files to starting AEM.

Regards,

Opkar