Skip to content

Installation

F. Conrads edited this page Mar 26, 2019 · 16 revisions

DISCLAIMER:

Important: Iguana consists of three modules!

  1. Corecontroller: This will benchmark the systems
  2. Resulprocessor: This will receive each query execution time and will process it according to its configuration
  3. WebController: Just a GUI to create a configuration (it is not the whole IGUANA!)

(1.) and (2.) have to be started both, (3.) can be started optionally. Start the Corecontroller and the Resultprocessor before starting the web controller.

Further on: An IGUANA config is NOT the configuration of the modules itself. The IGUANA configuration represents the benchmark, whereas the configuration for the modules (what you start them with as an argument if doing manually) is just a configuration to tell the modules what to use (e.g. the RABBIT HOST NAME)

To install Iguana you have the following options:

  • Using Docker (not updated, please do not use currently)
  • Using git and maven
  • Download shaded jars (recommend!)

Warning! we assume your are running your rabbitmq server on localhost, but its straight forward to change it as you will see.

Prerequisites

If you want to use docker, pleas install Docker and Docker Compose.

Otherwise you need maven and Java 1.8.

No matter what you want to do, you still need a rabbitmq server running. Please install RabbitMQ and start a server. (This is not necessary if you start all modules at once using docker, see below)

If you want to install Iguana using git and maven you have to clone the repository at first.

git clone https://github.com/dice-group/IGUANA

web

Using download

Download the following war: Web Controller

Use it inside a JBOSS Wildfly or Tomcat server. (dont know how to? please visit the wildfly (resp. Tomcat) tutorials of your choice)

Using docker (not updated, please do not use currently)
docker pull iguana/webcontroller:latest
docker run --net=host -e RABBIT_HOST=localhost iguana/webcontroller
Using the start script
./start.sh -D -web localhost

or if you do not want to use docker

./start.sh -web localhost
manually, be aware that you need a JBoss Wildfly AS on port 9990 started
mvn clean package wildfly:deploy

Result Processor

Using download

Download the following jar: Result Processor

execute with

java -cp iguana.resultprocessor-2.0.0.jar org.aksw.iguana.rp.controller.MainController 

you can also configure the module by adding a different configuration file (please visit configuration for more details)

java -jar iguana.resultprocessor-2.0.0.jar org.aksw.iguana.rp.controller.MainController module.config
Using docker (not updated, please do not use currently)
docker pull iguana/resultprocessor:latest
docker run --net=host -e RABBIT_HOST=localhost iguana/resultprocessor:latest

or if you want to use the live option

docker pull iguana/resultprocessor:live
docker run --net=host -e RABBIT_HOST=localhost iguana/resultprocessor:live
Using the start script
./start.sh -D -rp localhost
# or using the live option
./start.sh -D -rpl localhost

Before starting the resultprocessor please change the module configuration at 'src/main/resources/iguana.properties' and change the storage according to what you want. Do not know what to put in? Read here: https://github.com/dice-group/IGUANA/tree/master/iguana.resultprocessor/README

  • or if you do not want to use docker
./start.sh -rp localhost
./start.sh -rpl localhost
manually (you have to change the rabbitMQ host in the 'src/main/resources/iguana.properties')

Before starting the resultprocessor please change the module configuration at 'src/main/resources/iguana.properties' and change the storage according to what you want. Do not know what to put in? Read here: https://github.com/dice-group/IGUANA/tree/master/iguana.resultprocessor/README Also you have to change the rabbitMQ host name there!

mvn clean package
java -cp "target/lib/*" org.aksw.iguana.rp.controller.MainController

The core

To start the core please use one of the following options:

Using download

Download the following jar: Result Processor

execute with

java -cp iguana.corecontroller-2.0.0.jar org.aksw.iguana.cc.controller.MainController 

you can also configure the module by adding a different configuration file (please visit configuration for more details)

java -cp iguana.corecontroller-2.0.0.jar org.aksw.iguana.cc.controller.MainController module.config
Script (not updated, please do not use currently)
./start.sh -cc localhost
manually (you have to change the rabbitMQ host in the 'src/main/resources/iguana.properties')
mvn clean package
java -cp "target/lib/*" org.aksw.iguana.cc.controller.MainController

All Modules at once

use the script as follows:

Using the Web and Resultprocessor with Docker (the rabbitmq host will then be called rabbit, you have to change this in the core: 'iguana.corecontroller/src/main/resources/iguana.properties')

./script -D -c

or if you do not want to use docker

./script -c

How to execute an IGUANA config (a benchmark):

In the IGUANA rootfolder:

java -cp iguana.corecontroller-2.0.0.jar org.aksw.iguana.cc.config.ConfigSender RABBITMQ_HOST CONFIG-FILE-NAME

please exchange the RABBITMQ_HSOT to your host, and the config file name to the config file name

Troubleshooting

If you use the docker-compose without the script please keep in mind to create the iguana network first

docker network create iguana
You can’t perform that action at this time.