Support Modeshape Clustering

Description

Support Clustering of Modeshape under AWS, and standalone

Activity

Show:
Scott Reisdorf
March 17, 2017, 10:51 PM
Edited

1. Configure jgroups to connect to each ec2 host. There are a few ways to do this. After numerous attempts this works using s3 ping
http://www.jgroups.org/manual/html/protlist.html#d0e5330

S3 Ping Setup
1. create/use a User who has access to S3 within the same region as the Kylo Cluster
2. Make a new s3 bucket. This will be used to coordinate the Kylo cluster. jgroups with s3 ping will coordinate each via messages to this s3 bucket
3. update/create a /opt/kylo/kylo-services/conf/jgroups-config.xml file (see attached for reference changing the [PLACEHOLDER] ). Change the TCP bind_addr and S3_PING access keys and location to the users access keys and s3 bucket. Note there are more secure ways to do this, rather than embedding the keys in this file you can create the link before hand (see the jgroups s3 ping docs: http://www.jgroups.org/manual/html/protlist.html#d0e5330).

Note For each node you need to update the TCP bind_addr to be the private IP for the ec2 machine.

4. Update Modeshape metadata-repository.json file and add the clustering section:
In the example below the property modeshape.cluster.configuration is set in the application.properties file and points to "jgroup-config.xml"

5. restart kylo-services.
5a. if you what additional logs update the log4j.properties and add:
log4j.logger.org.modeshape.jcr.clustering.ClusteringService=DEBUG

There are other options that I tried but didnt get working.. it my be good to retry the AWS_PING option, instead of the S3_PING to see if it works.

Done

Assignee

Scott Reisdorf

Reporter

Scott Reisdorf

Labels

None

Reviewer

None

Epic Link

Sprint

None

Fix versions

Priority

Medium