Post

1 follower Follow
0
Avatar

High Availability Setup - XLD MySql (and clustering option)

Open source MySql Community Server can be downloaded from http://dev.mysql.com/downloads/mysql/

XLD clusters can not run active/active, in fact only 1 node can be running at a time

Database repositories and clustering are configured within jackrabbit-repository.xml under <XLD_HOME>/conf

Configuring MySql & XLD

Scenario 1: single-node XLD

  1. extract XLD zip
  2. copy this file (jackrabbit-repository_mySqlNoCluster.xml) to jackrabbit-repository.xml under <XLD_HOME>/conf (modify as needed)
  3. copy mysql database driver (example: mysql-connector-java-5.1.33-bin.jar) under <XLD_HOME>/lib
  4. open MySql Workbench (or use command line tool mysql)
  5. create new schema/database named deployit (name can be anything but needs to match jackrabbit-repository.xml url: example <param name="url" value="jdbc: mysql://localhost:3306/deployit"/> database name = deployit)
  6. run setup (XLD creates tables within MySql database)

Scenario 2: 2-node XLD

  1. extract XLD zip on both nodes
  2. copy this file (jackrabbit-repository_mySqlClusterNode1.xml) and this file (jackrabbit-repository_mySqlClusterNode2.xml) to jackrabbit-repository.xml under <XLD_HOME>/conf to both nodes respectively (modify as needed)
  3. copy mysql database driver (example: mysql-connector-java-5.1.33-bin.jar) under <XLD_HOME>/lib on both nodes
  4. open MySql Workbench (or use command line tool mysql)
  5. create new schemas/databases named deployit, deployit_node1 and deployit_node2 (names can be anything but need to match jackrabbit-repository.xml)
  6. run setup (XLD creates tables within MySql database) on node1 only
  7. shutdown XLD on node1
  8. get the current revision number of node1 from your database (run select \* from deployit.journal_local_revisions)
  9. copy <XLD_HOME>/repository from node1 to node2
  10. add node2 name to your DB in JOURNAL_LOCAL_REVISIONS including the revision number from node1 (insert into deployit.journal_local_revisions (JOURNAL_ID,REVISION_ID) VALUES ("node2",44))
  11. start node1 and create new package
  12. stop node1
  13. start node2 and verify new package created on node1 appears correctly 
Mark Ravech

Please sign in to leave a comment.