New Cluster Test (cluster deployment and test tool)

compared with
Current by Gergana Petkova
on Sep 18, 2014 11:38.

This line was removed.
This word was removed. This word was added.
This line was added.

Changes (30)

View Page History
The tool can be used on one command-and-control machine, which may or may not participate in the cluster itself.

h1. The Test Help Tool

{note} The tool's remote exec is a security hole, so it is not advisable to open it on an external network or on machines containing sensitive information\!{note}

h1. Configuration file

The configuration file must be called {{test.config}} and it should be located in the user's home directory or in the tools directory on the command machine.

h2. Format and semantics

The file is read and interpreted one line at a time.

h3. Comments and blank lines

Blank lines are skipped.

h3. Proxy configuration

By default, the nodes in the cluster are configured to communicate through the proxy. This can be switched off by the following command:


It should start with the word "box", followed by a number. Boxes must have unique names, but in case of duplicates, the last one will be used.

Next comes The next part is the box's name or IP address ("server-or-ip").

Then, the user ("onto") who runs GraphDB on this machine. The command-and-control machine must have SSH access without password to this user/machine.

Next is the absolute path, where all GraphDB instances on this machine will be installed ("/space1/OWLIM").
The next part is the absolute path where all GraphDB instances will be installed on this machine ("/space1/OWLIM").

The last parameter is the JMX port on which the proxy will listen. Don't use port numbers >= 20000 because they are already used for redirects.

h3. Master/worker declaration

Next come master and worker declarations. They look like this:
The master and worker declarations look like this:

worker1|w1|w1dc1 box1 worker 8080 home.worker1

Again, the line should start with the word "master" or "worker", followed by a number. The bar symbols ("\|") add optional aliases, which can be used in the tests.

Next come The next part is the box on which the node should be installed ("box1").

After that Then is the repository name ("master"), followed by the tomcat port (10080), and the tomcat box's home directory.

The main caveat here is, that these lines declare the tomcat instances as well. For example, the first line means that there will be tomcat on box1 running on port 10080. The home.master1 directory is relative to the box's home directory. Here is how it'll look:

Here is how it will look:

* /
** space1
******** SYSTEM

Note, that for each box, only one tomcat can run on port 10080, so if another node specifies the same box and port, it should also specify the same home dir, but must have different repository name.
{note} For each box, only one tomcat can run on port 10080. So if another node specifies the same box and port, it should also specify the same home dir but should have a different repository name.{note}

h3. Link declarations
All commands are run through [ant|]. The main commands are:

ant cluster-utils-deploy
ant cluster-utils-status
to get the cluster status.

ant cluster-utils-start-all
to start the cluster.

ant cluster-utils-stop-all
to stop the cluster.

ant cluster-utils-clear
to remove the deployment.

h1. Caveats

* Using When using this tool, the cluster can be deployed only on Linux machines. The command & control machine can run Windows, Linux, or OS X.
* Unrecognised configuration lines are ignored. Recognized, but bad configuration lines may or may not be reported.
* Other configuration errors may or may not be detected, reported, or handled.
* The proxy tool creates a log file named {{/tmp/test-help-tool.log}}. It is not automatically deleted, so it can grow quite large.

h1. Disclaimer

This tool was created to improve our test installations. It has many hard-coded assumptions, bad configuration file syntax, has very bad error handling and reporting, and probably quite a few bugs. Use at your own risk.