The project new-cluster-test is used to deploy a GraphDB cluster through a configuration file. The scenario is, that you have several physical (or virtual) machines, called boxes, and on each of them you want to run one or more GraphDB nodes. (A "node" here means GraphDB master or GraphDB worker instance). Each node is run in а tomcat, and several nodes can share one tomcat (depending on the configuration).
The tool can be used on one command-and-control machine, which may or may not participate in the cluster itself.
The Test Help Tool was specially created to run cluster tests. It installs and runs test-help-tool.jar on each box. This tool has several roles as described below:
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.
The file is read and interpreted one line at a time.
Lines with the hash symbol ('#') in the first column are treated as comments and are ignored. These are the only "officially" recognized comments.
Blank lines are skipped.
By default, the nodes in the cluster are configured to communicate through the proxy. This can be switched off by the following command:
This command should come before the masters/workers description, and it makes sense to be the first non-comment line in the file.
The box declaration line looks like this:
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.
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.
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.
The master and worker declarations look like this:
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.
The next part is the box on which the node should be installed ("box1").
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 will look:
Master worker links are declared as follows:
Additional Java options can be specified for all masters and for all workers as follows:
All commands are run through ant. The main commands are:
to deploy the cluster.
to get the cluster status.
to start the cluster.
to stop the cluster.
to remove the deployment.
This tool was created to improve our test installations. It has many hard-coded assumptions, bad configuration file syntax, very bad error handling and reporting, and probably quite a few bugs. Use at your own risk.
Skip to end of metadata Go to start of metadata