Expand my Community achievements bar.

SOLVED

AEM 6.1 + mongo DB 3.5 clustering

Avatar

Level 5

Hi Team,

We are having 2 AEM authors and 2 MongoDB, how do we configure shared cluster?

Thanks,

Mahesh

1 Accepted Solution

Avatar

Correct answer by
Employee

Hi Mahesh,

please review: http://docs.adobe.com/docs/en/aem/6-1/deploy/recommended-deploys.html

Let me know if you have any questions after reading the above.

Regards,

Opkar

View solution in original post

12 Replies

Avatar

Employee

Hi Mahesh,

when you say shared cluster, do you mean sharing the MongoDB cluster between author and publish instances? Why do you need a Mongo cluster for your publish instances? I can't think of a use case for it, even for User Generated Content, a common store is the recommended approach.[1]

Regards,

Opkar

[1] http://docs.adobe.com/docs/en/aem/6-1/administer/communities/srp/asrp.html

Avatar

Level 5

Hi Opkar,

i am going through that link u provided, in the mean while i am posting my requirement below.

In our environemnt we have two  AEM6.1 author and two  mongo DB, we wanted a shared cluster between two Mongo DB. by this both the authors will be in sync with each other. 

quick question: -

1. if we create shared cluster between two mondo DB and integrate with two authors, will that shared cluster will take care of both the authors also??

 

Thanks,

Mahesh

Avatar

Correct answer by
Employee

Hi Mahesh,

please review: http://docs.adobe.com/docs/en/aem/6-1/deploy/recommended-deploys.html

Let me know if you have any questions after reading the above.

Regards,

Opkar

Avatar

Level 5

Hi Opkar,

Thanks for sharing those links those helped to understand , our site require MONGO DB, 

After reading the above link, i got to know sharding and MongoDB 3.5 is not supported with AEM where as replica set is supported, we wnated to go with replica set.

Now i wanted to integrate  two  AEM 6.1 Authors with mongo DB replica set  

i have followed the below link [1] to setup, but it shows only one author configuration, can i follow the same steps for two authors.

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

Thanks, Mahesh

Avatar

Employee

Hi Mahesh,

In AEM6 clustering, the clustering is done at the MongoDB level.

What this means for you, is that once you initialise an AEM author instance to connect to a MongoDB instance, the MongoDB instance is set up for AEM therefore you can add more author instances by configuring them to connect to the existing MongoDB instance. Once connected, the new AEM instance will synchronise with the DB. At this point both author instances are pointing to the same DB and any changes will be synched via Mongo. So in essence, they are synchronised. Hope that makes sense.

 

In the article you mentioned, the last sections explains the same process can be used to add more AEM instances. 

Regards,

Opkar

Avatar

Employee

Hi Mahesh,

You are right, 3 members are the minimum required for MongoDB cluster. The third can be an arbiter. Three machines sounds sensible. Once you get to production and you have multiple data centres, you may want to put each box in a different data centre to ensure maximum resilience.

The error you are seeing is the symptom of your repository not starting. The actual exception which stopped your repository from starting is likely to be much earlier in the error log. If it is not obvious, please start another thread otherwise this will become a monster thread :) 

Regards,

Opkar

Avatar

Level 5

Hi Opkar,

Thanks for your quick reply :)

My bad i missed it and asked about how to connect extra auhtor, i was about to post reply to that, in the mean while you replied.

Can you please suggest me how many boxes i need to setup replica set,  i wanted to go for below configuration :-

2 Authors - two machines, and for node0 node1 and arb0 on three diff boxes ??

when i am trying to start author with the parameters given in the link i am getting below error, any idea:-

16.08.2015 23:49:24.646 *ERROR* [qtp664876097-60] org.apache.sling.engine.impl.SlingHttpContext handleSecurity: AuthenticationSupport service missing. Cannot authenticate request.
16.08.2015 23:49:24.646 *ERROR* [qtp664876097-60] org.apache.sling.engine.impl.SlingHttpContext handleSecurity: Possible reason is missing Repository service. Check AuthenticationSupport dependencies.

Thanks,Mahesh

Avatar

Employee

Hi Mahesh,

when you installed AEM and connected to Mongo, did you give adequate time for the initialisation process? It can take up to 30 minutes.

When you first set up your system, was AEM up and all the interfaces available?

Regards,

Opkar

Avatar

Level 5

Hi Opkar,

That was the only error, i am facing same error with your command also.

Thanks, Mahesh

Avatar

Level 5

Hi Opkar,

This are the few errors from error logs [1]:-

and i using this command to to extact[2] :-

Command which you have posted in another thread [3], i faced almost same issue:-

[3] java -XX:MaxPermSize=2048M -mx4g -jar aem6-author-p4502.jar -r crx3,crx3mongo -Doak.mongo.uri=mongodb://localhost:27017,<hostname>:2701

[2] java -XX:MaxPermSize=512M -mx4g -jar aem6-author-p4502.jar -r crx3,crx3mongo -Doak.mongo.uri=mongodb://10.202.13.73:27017,10.202.13.73:27018

 

[1] 16.08.2015 23:48:13.725 *ERROR* [FelixDispatchQueue] com.day.cq.cq-compat-codeupgrade FrameworkEvent ERROR (org.osgi.framework.BundleException: Unresolved constraint in bundle com.day.cq.cq-compat-codeupgrade [135]: Unable to resolve 135.0: missing requirement [135.0] osgi.wiring.package; (osgi.wiring.package=com.day.cq.commons.jcr))

org.osgi.framework.BundleException: Unresolved constraint in bundle com.day.cq.cq-compat-codeupgrade [135]: Unable to resolve 135.0: missing requirement [135.0] osgi.wiring.package; (osgi.wiring.package=com.day.cq.commons.jcr)
        at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4095)
        at org.apache.felix.framework.Felix.startBundle(Felix.java:2114)
        at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1368)
        at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
        at java.lang.Thread.run(Thread.java:745)
16.08.2015 23:48:13.726 *INFO* [FelixDispatchQueue] org.apache.felix.framework FrameworkEvent STARTLEVEL CHANGED
16.08.2015 23:48:15.728 *INFO* [FelixDispatchQueue] org.apache.felix.framework FrameworkEvent STARTLEVEL CHANGED
16.08.2015 23:48:17.731 *INFO* [FelixDispatchQueue] org.apache.felix.framework FrameworkEvent STARTLEVEL CHANGED
16.08.2015 23:48:19.734 *INFO* [FelixDispatchQueue] org.apache.felix.framework FrameworkEvent STARTLEVEL CHANGED
16.08.2015 23:48:21.737 *INFO* [FelixDispatchQueue] org.apache.felix.framework FrameworkEvent STARTLEVEL CHANGED
16.08.2015 23:48:23.739 *INFO* [FelixDispatchQueue] org.apache.felix.framework FrameworkEvent STARTLEVEL CHANGED
16.08.2015 23:48:25.742 *INFO* [FelixDispatchQueue] org.apache.felix.framework FrameworkEvent STARTLEVEL CHANGED
16.08.2015 23:48:27.756 *INFO* [FelixDispatchQueue] org.apache.felix.framework FrameworkEvent STARTLEVEL CHANGED
16.08.2015 23:48:28.077 *INFO* [qtp664876097-60] org.apache.sling.startupfilter.impl.StartupFilterImpl Reloaded list of StartupInfoProvider: []
16.08.2015 23:49:24.646 *ERROR* [qtp664876097-60] org.apache.sling.engine.impl.SlingHttpContext handleSecurity: AuthenticationSupport service missing. Cannot authenticate request.
16.08.2015 23:49:24.646 *ERROR* [qtp664876097-60] org.apache.sling.engine.impl.SlingHttpContext handleSecurity: Possible reason is missing Repository service. Check AuthenticationSupport dependencies

 

Thanks,Mahesh

Avatar

Employee

Hi,

Is that the only error?

Have a look at [1][2], can you try the command below:

    
java -jar aem6-author-p4502.jar -r author,crx3,crx3mongo -Doak.mongo.uri=mongodb://localhost:27017
 

Details on how to setup the start script[2]

Regards,

Opkar

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

[2] http://www.netcentric.biz/blog/2015/01/adobe-experience-manager-6-with-a-mongodb-setup.html