Skip to content
Benjamin Cogrel edited this page Mar 9, 2016 · 12 revisions

Teiid installation

According to its website, http://teiid.jboss.org/,

Teiid is a data virtualization system that allows applications to use data from multiple, heterogeneous data stores.

Teiid can thus be used to federate heterogeneous RDBMS behind one JDBC interface. This is its most common usage with Ontop.

To install it, in March 2016, you need to download the following components:

  • Application server with Teiid Runtime: 8.12.4 With EAP http://teiid.jboss.org/downloads/ (you may need to register as a developer before downloading it).
  • Teiid Designer: 9.2.0
  • IDE: Eclipse Luna
  • Java 1.8

Note: Teiid Designer version 9.2.0 is compatibly with only Eclipse Luna(4.4) and Teiid Runtime 8.12.4.

Step 1: Install the Teiid designer

Step 2: Set up the JBoss application server with Teiid support

  • Download and unzip JBoss EAP with Teiid Runtime
  • Create an admin user: $YOUR_JBOSS_DIR/bin/add-user.sh
    • Type: management user
    • Realm: ManagementRealm
    • Username: admin
    • Password: admin1664!
  • Create an application user:
    • Type: Application user
    • Realm: ApplicationRealm
    • Username: user
    • Password: user1664!
  • No need to run the application server here, we will do from the Teiid designer interface. However, just in case, the command to run it is the following: ./standalone.sh --server-config=standalone-teiid.xml

Step 3: Follow the BookFederation tutorial

See BookFederationTutorial.

Some tips:

  • If you have access to the Unibz network, you can use the following MYSQL database for accessing the books database: jdbc:mysql://10.7.20.39/books (fish/fish)
  • If you use H2 (eg. for the bookstores db), please make sure to provide a non-empty password. You may need to create a new user: CREATE USER TEST PASSWORD 'test' ADMIN;.

Configuration tips

Augment heap size

In the file $YOUR_JBOSS_DIR/bin/standalone.conf, change the line

JAVA_OPTS="-Xms1303m -Xmx1303m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true"

into (for example)

JAVA_OPTS="-Xms6000m -Xmx6000m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true"

Augment the number of active plans

If you run complex queries, you might need to augment the number of active plans. If not, Teiid might block (see this forum question).

For changing parameters of Teiid (or any other application managed by the JBoss AS), you need to use the CLI client to connect to the Application Server.

$YOUR_JBOSS_DIR/bin/jboss-cli.sh

Then connect the local server

connect

Read the attribute value

subsystem=teiid:read-attribute(name=max-active-plans)

You will then see

{
  "outcome" => "success",
  "result" => 20
}

Change the value

/subsystem=teiid:write-attribute(name=max-active-plans, value=40)

You then need to reboot the application server

reload

Log configuration

For logging the queries Teiid sends to the source DBs, you need to set org.teiid.CONNECTOR to the DEBUG level.

How to do this? Go to your Application Server admin interface in Profile/Core/Logging/Core Categories and add a logger category.

Clone this wiki locally