
This document is for users and system administrators that are unfamiliar with the OWLIM-Enterprise software. The information contained in the following pages should be enough to get started with OWLIM-Enterprise, i.e. to install and configure the software on both master and worker nodes.
{toc}
h1. Description
A cluster is made up of two basic node types: masters and workers. A master node is responsible for:
* ensuring that all worker nodes are synchronised
* propagating updates (insert and delete tasks) across all workers and checking updates for inconsistencies
* load balancing read requests (query execution tasks) between all available worker nodes
* providing a uniform entry point for client software, where the client interacts with the cluster as though it is just a normal [Sesame openRDF|http://www.openrdf.org/] repository
* providing a JMX management interface for monitoring and administrating the cluster
* automatic cluster re-configuration in the event of failure of one or more worker nodes
* user-directed dynamic configuration of the cluster to add/remove ẃorker nodes
Worker nodes are based on OWLIM-SE and are set up using the Sesame HTTP server (a Web application running inside a servlet container, e.g. Apache Tomcat). Master nodes do not store or manage any RDF data themselves (although it is possible to run a master and a worker instance on the same physical machine). From an external point of view, a master behaves exactly like any other Sesame repository that is exposed via the Sesame HTTP server, but internally utilises worker nodes (also exposed via the Sesame HTTP server) to store and manage RDF data. In this way, parallel query execution performance can be increased by having worker nodes answer queries in parallel.
OWLIN-Enterprise therefore has two advantages over a stand-alone OWLIM-SE instance:
* Improved parallel query execution performance.
* Resilience to hardware failures of individual nodes in the cluster.
Furthermore, each cluster can contain more than one master node. In this case, every master monitors the health of all the workers and can distribute query execution tasks between them, effectively allowing a cluster to have multiple entry points for queries. However, only one master at any given time can be responsible for propagating updates across the workers and this node is said to be in 'normal' (also called 'read/write') mode. All other master nodes are in the 'hot-standby' (also called 'read-only') mode. Switching the modes of master nodes can be achieved using the JMX management interface.
The rest of this guide gives detailed step by step instructions for installing and configuring an OWLIM-Enterprise cluster that contains both master and worker nodes.
h1. Easy install
OWLIM will normally be built against the latest version of the [Aduna OpenRDF Sesame framework|http://www.openrdf.org/]. If using OWLIM with this version then the easiest way to deploy an OWLIM server instance is to copy the re-packaged Sesame Web applications (.war files) in to the Tomcat {{webapps}} directory. These can be found in the {{sesame_owlim}} directory in the OWLIM distribution ZIP file. These Web applications have been modified as follows:
* *openrdf-sesame.war:* The Sesame server application. All OWLIM-Enterprise and 3{^}rd^ party jar files have been added to this package, so that it can be used immediately after deployment.
* *openrdf-workbench.war:* The OWLIM-Enterprise jar, XSLT configuration code and an OWLIM-SE Turtle configuration files have been added, so that new OWLIM-Enterprise instances can be created using the Workbench without the need to run the command line console application.
The repackaged openrdf-sesame.war Web application must be deployed to all cluster nodes. The openrdf-workbench.war Web application need only be deployed on a single machine and this does not have to be a machine taking part in the cluster. However, for simplicity, it is more straightforward to deploy the workbench to all nodes simultaneously with the Sesame server.
{note}
Even though the worker nodes are based on OWLIM-SE, it is essential that the OWLIM-Enterprise distribution is used for all nodes in a cluster, i.e. both masters and workers.
{note}
After deployment, OWLIM-Enterprise master and worker nodes can be created using the workbench application as follows:
* Start a browser and go to the Workbench Web application using a URL of this form: [http://localhost:8080/openrdf-workbench/] \- substituting {{localhost}} and the {{8080}} port number as appropriate.
* Click 'change server' if necessary to select a Sesame server instance if it is running on a different machine. The server URL will be of this form: [http://localhost:8080/openrdf-sesame]
* After selecting a server, click 'New repository'
* Select 'OWLIM-Enterprise worker node' or 'OWLIM-Enterprise master node' from the drop-down and enter the repository ID and description. Then click 'next'.
* For master nodes, there is nothing more to specified, so just click 'create'. For worker nodes, fill in the fields as required (referring to the owlim-configurator spreadsheet) and click 'create'. You can specify a worker node license file at this step if you have one.
* A message should be displayed that gives details of the new repository and this should also appear in the repository list (click 'repositories' to see this).
{note}
All worker nodes that take part in the same cluster (connect to the same master), must be configured identically (apart from the repository name and label).
{note}
The last steps to get the cluster connected and running are:
* Set up the master node's Tomcat instance to expose its JMX interface - see [Install master node|OWLIM-Enterprise Installation#Install master node] section below.
* Connect the workers to the master using the JMX interface - see [Connect the worker nodes|OWLIM-Enterprise Installation#Connect the worker nodes] section below.
{note}
License files are not required for master nodes. License files for worker nodes can be set using the Sesame console or Workbench when creating repositories. These values can be overridden by using a command line parameter for the Java virtual machine (JVM) that hosts the OWLIM instances. The easiest way to pass configuration parameters when using Tomcat is to use the {{CATALINA_OPTS}} environment variable. The worker license file can be set using:
{{CATALINA_OPTS=-Dowlim-license=<path_to_worker_license_file>}}
See the [FAQ|OWLIM FAQ#How do I set up license files for OWLIM-SE and OWLIM-Enterprise] for more details.
{note}
h1. Longer install
This longer install process should be used when a different or modified version of Sesame is being used. In this case, all the OWLIM-Enterprise files need to be installed alongside Sesame in a step-by-step process as follows.
h2. Preparation