0 Instalacion de PDI
0 Instalacion de PDI
0 Instalacion de PDI
This document supports Pentaho Business Analytics Suite 5.0 GA and Pentaho Data Integration 5.0 GA,
documentation revision February 3, 2014, copyright 2014 Pentaho Corporation. No part may be reprinted without
written permission from Pentaho Corporation. All trademarks are the property of their respective owners.
Trademarks
Pentaho (TM) and the Pentaho logo are registered trademarks of Pentaho Corporation. All other trademarks are the
property of their respective owners. Trademarked names may appear throughout this document. Rather than list
the names and entities that own the trademarks or insert a trademark symbol with each mention of the trademarked
name, Pentaho states that it is using the names for editorial purposes only and to the benefit of the trademark
owner, with no intention of infringing upon that trademark.
Contact Us
Global Headquarters Pentaho Corporation
Citadel International, Suite 340
5950 Hazeltine National Drive
Orlando, FL 32822
Phone: +1 407 812-OPEN (6736)
Fax: +1 407 517-4575
http://www.pentaho.com
Sales Inquiries: sales@pentaho.com
| TOC | 3
Contents
Introduction................................................................................................................................ 5
Overview of the Installation Process..........................................................................................6
Prepare Environment.................................................................................................................7
Create User Account.................................................................................................................................... 7
Create Windows User Account.......................................................................................................... 7
Create Linux User Account................................................................................................................ 7
Create Directory Structure............................................................................................................................ 8
Create Windows Directory Structure..................................................................................................8
Create Linux Directory Structure........................................................................................................8
Install the Web Application Server................................................................................................................8
Install the BA Repository Host Database......................................................................................................9
Install Java JRE or JDK................................................................................................................................ 9
Download and Unpack Installation Files.......................................................................................................9
Set Environment Variables......................................................................................................................... 11
Set Windows PENTAHO_JAVA_HOME and PENTAHO_INSTALLED_LICENSE_PATH Variables
11
Set Linux PENTAHO_JAVA_HOME and PENTAHO_INSTALLED_LICENSE_PATH Variables
....11
Advanced Topics........................................................................................................................................ 12
Prepare a Headless Linux or Solaris Server....................................................................................12
Adjust Amount of Memory Mac OS Allocates for PostgreSQL........................................................ 12
Initialize Repository..................................................................................................................13
Initialize PostgreSQL BA Repository Database..........................................................................................13
Initialize MySQL BA Repository Database................................................................................................. 15
Initialize Oracle BA Repository Database...................................................................................................15
Configure Repository............................................................................................................... 17
Configure PostgreSQL BA Repository Database....................................................................................... 17
Configure Quartz on PostgreSQL BA Repository Database............................................................17
Configure Hibernate Settings for PostgreSQL BA Repository Database.........................................17
Modify Jackrabbit BA Repository Information for PostgreSQL........................................................ 18
Prepare MySQL BA Repository Database..................................................................................................21
Configure Quartz on MySQL BA Repository Database................................................................... 21
Configure Hibernate Settings for MySQL.........................................................................................21
Replace Default Version of Audit Log File with MySQL Version......................................................21
Modify Jackrabbit Repository Information for MySQL......................................................................21
Prepare Oracle BA Repository Database................................................................................................... 24
Configure Quartz on Oracle BA Repository Database.....................................................................24
Configure Hibernate Settings for Oracle.......................................................................................... 25
Replace Default Version of Audit Log File with Oracle Version....................................................... 25
Modify Jackrabbit Repository Information for Oracle....................................................................... 25
Specify Connections................................................................................................................ 29
Perform Tomcat-Specific Connection Tasks.............................................................................................. 29
Download and Install Repository Database JDBC Drivers.............................................................. 29
Download and Install H2 JDBC Drivers........................................................................................... 29
Modify JDBC Connection Information in the Tomcat context.xml File............................................. 29
Perform JBoss-Specific Connection Tasks.................................................................................................31
Install JDBC Driver as a Module in JBoss....................................................................................... 31
Define JNDI Database Connection Information in JBoss................................................................ 33
Add JBoss Deployment Structure File to pentaho.war.................................................................... 35
Remove JNDI Resource References in JBoss................................................................................ 36
Update JNDI Data Source Reference to Conform to JBoss Standards...........................................36
| TOC | 4
Start BA Server........................................................................................................................40
Modify Tomcat Startup Script..................................................................................................................... 40
Modify the Tomcat Windows Startup Script..................................................................................... 40
Modifying the Tomcat Linux Startup Script...................................................................................... 40
Modify JBoss Startup Script........................................................................................................................41
Modify the JBoss Windows Startup Script....................................................................................... 41
Modifying the JBoss Linux Startup Script........................................................................................ 41
Start BA Server...........................................................................................................................................41
Next Steps............................................................................................................................... 42
| Introduction | 5
Introduction
This section explains how to manually install the Pentaho Business Analytics (BA) Server and configure it to run on
the database and web application server of your choice. With this installation option you can choose to house the BA
Repository on a PostgreSQL, MySQL, or Oracle database. The BA Repository contains solution content, scheduling,
and audit tables needed for the BA Server to operate. You can also choose to deploy the BA Server on either the JBoss
or Tomcat web application servers. With this installation option, you must supply, install, and configure your chosen
database and web application server yourself.
Prerequisites
Read Select BA Installation Option to make sure that this is the best installation option for you. Also, before you begin,
check the Supported Technologies tables to make sure that your server computer, BA Repository database, and web
browser meet Pentaho's requirements for the current version of the software.
Expertise
The topics in this section are written for IT administrators who know where data is stored, how to connect to it, details
about the computing environment, and how to use the command line to issue commands for Microsoft Windows or
Linux. You should also know how to install a database and a web application server.
Tools
You must supply a workstation that meets the hardware and software requirements indicated in the Supported
Technologies section, as well as a supported operating system and JRE or JDK.
Login Credentials
You must be logged onto an account that has administrative privileges to perform the tasks in these sections.
Additionally, Linux users need to use the root account for some tasks.
Prepare Environment: Explains how to prepare your computer for software installation.
Initialize Repository: Provides information about how to run DDL scripts that create tables for the BA Repository.
Configure Repository: Provides information about how to configure the BA Repositories on your selected
database.
Specify Connections: Explains how to specify the JNDI and JDBC connections to the BA Repository.
Prepare Web App Server: Provides instructions about how to disable unnecessary scans, allot additional memory
and time for BA Server deployment, and reference the required Oracle JDK packages.
Start BA Server: Explains how to modify startup files and deploy the BA Server WAR files.
Next Steps: Indicates what to do after the BA Server has been installed.
| Prepare Environment | 7
Prepare Environment
To prepare the computer on which you plan to install the BA Server, complete these tasks.
Create a pentaho user account if you plan to install the BA Server on a Linux machine.
Download and install the Tomcat or JBoss web application server. If you plan to install the BA Server on a web
application server that has already been installed, skip this task.
Install the BA Repository database. If you already have a database installed, skip this task.
Install Java JRE or JDK.
Download and unpack the installation files.
Set environment variables.
Perform advanced preparations, if necessary.
| Prepare Environment | 8
c) Use the Terminal window to navigate to the pentaho directory to verify that it has been created. By default, it is in
the /home directory.
d) Close the Terminal window.
| Prepare Environment | 9
biserver-manual-ee-5.0.0-dist.zip.
Dashboard Designer Plugin: pdd-plugin-ee-5.0.0-dist.zip.
Geo Plugin: pentaho-geo-5.0.0-dist.zip.
Interactive Reporting Plugin:pir-plugin-ee-5.0.0-dist.zip.
| Prepare Environment | 10
Mobile Plugin: pentaho-mobile-plugin-5.0.0-dist.zip.
Pentaho Analyzer Pluginpaz-ee-5.0.0-dist.zip.
3. Unpack the files by completing these steps.
a) Use a zip tool to extract the distribution zip files you just downloaded.
b) Open a Command Prompt or Terminal window and navigate to the folder that contains the files you just
extracted.
c) Enter one of the following at the prompt.
Windows:
install.bat
Linux:
./install.sh
d) Read the license agreement that appears. Select I accept the terms of this license agreement, then click Next.
Note: If you are unpacking the file in a non-graphical environment, open a Terminal or Command Prompt
window and type java -jar installer.jar -console and follow the instructions presented in the window.
e) Indicate where you want the file to be unpacked. It doesn't matter where because you will be manually placing
the files in the appropriate directories later in these instructions.
f) Click the Next button.
g) The Installation Progress window appears. Progress bars indicate the status of the installation. When the
installation progress is complete, click Quit to exit the Unpack Wizard.
4. Navigate to the directory where you unpacked the files. Copy the pentaho.war and pentaho-style.war files to
the appropriate directory. The directory you choose is determined by the web application server installed.
5.
6.
7.
8.
| Prepare Environment | 11
Note: If your web application server is not in the pentaho/server/biserver-ee directory, the pentaho.war
and pentaho-style.war files should appear where you've chosen to install your web application server.
9. If you unzipped the plugin files, complete the following steps.
a) Navigate to the pentaho/server/biserver-ee/pentaho-solutions/system folder.
b) Copy the plugins to the appropriate folders as indicated in the list.
biserver-ee/pentaho-solutions/system/analyzer (Pentaho Analyzer)
biserver-ee/pentaho-solutions/system/dashboards (Pentaho Dashboard Designer)
biserver-ee/pentaho-solutions/system/pentaho-geo (Pentaho Geo)
biserver-ee/pentaho-solutions/system/pentaho-interactive-reporting (Pentaho
Interactive Reporting)
biserver-ee/pentaho-solutions/system/pentaho-mobile-plugin (Pentaho Mobile)
| Prepare Environment | 12
7. Verify that the PENTAHO_JAVA_HOME variable is properly set by opening a Terminal window and typing this.
env | grep PENTAHO_JAVA_HOME
8. The path to the variable should appear. If it does not, try setting the environment variable again.
9. Verify that the PENTAHO_INSTALLED_LICENSE_PATH variable is properly set by opening a Terminal window and
typing this.
env | grep PENTAHO_INSTALLED_LICENSE_PATH
10.The path to the variable should appear. If it does not, try setting the environment variable again.
Advanced Topics
Complete the instructions in this section only if you have a headless node or if you plan to install on a Mac OS.
| Initialize Repository | 13
Initialize Repository
Before you prepare the BA Repository complete the tasks in Prepare Environment.
Pentaho stores content about reports that you create, examples we provide, report scheduling data, and audit data in
the BA Repository. The BA Repository resides on the database that you installed during the Prepare Environment step.
The BA Repository consists of three repositories: Jackrabbit, Quartz, and Hibernate.
Jackrabbit contains the solution respository, examples, security data, and content data from reports that you use
Pentaho software to create.
Quartz holds data that is related to scheduling reports and jobs.
Hibernate holds data that is related to audit logging.
This step only consists of one task: Initialize the database. In this task you run DDLs that contain SQL commands that
create the Jackrabbit, Quartz, and Hibernate databases, as well as the Operations Mart schema.
Initialize PostgreSQL
Initialize MySQL
Initialize Oracle
pentaho/server/biserver-ee/data/postgresql/create_jcr_postgresql.sql
pentaho/server/biserver-ee/data/postgresql/create_quartz_postgresql.sql
pentaho/server/biserver-ee/data/postgresql/create_repository_postgresql.sql
| Initialize Repository | 14
Note:If necessary, change the \pentaho\server\biserver-ee to the place where you unpacked your
pentaho files.
h) Run the script to create the hibernate database by typing this.
\i /pentaho/server/biserver-ee/data/postgresql/create_repository_postgresql.sql
i) Run the script to create the Quartz database by typing this.
\i /pentaho/server/biserver-ee/data/postgresql/create_quartz_postgresql.sql
j) To switch to the Hibernate database, type this.
\c
postgres
k) Run the script to create the Operations Mart database by typing this.
\i /pentaho/server/biserver-ee/data/postgresql/pentaho_mart_postgresql.sql
l) Exit from the window by pressing the CTRL + C keys.
3. Linux: To run the SQL scripts on a Linux system, do this.
a) Open a Terminal window. You should be logged in as the pentaho user.
b) Sign into PostgreSQL by typing psql -U postgres -h localhost at the prompt.
c) Run the script to create the Jackrabbit database by typing this.
\i ~/pentaho/server/biserver-ee/data/postgresql/create_jcr_postgresql.sql
Note:If necessary, change the ~/pentaho/server/biserver-ee directory path to the place where you
unpacked your pentaho files.
d) Run the script to create the hibernate database by typing this.
\i ~/pentaho/server/biserver-ee/data/postgresql/create_repository_postgresql.sql
Note:If necessary, change the ~/pentaho/server/biserver-ee to the place where you unpacked your
pentaho files.
e) Run the script to create the Quartz database by typing this. Enter your password or the default password at the
prompt. The default is password.
\i ~/pentaho/server/biserver-ee/data/postgresql/create_quartz_postgresql.sql
Note:If necessary, change the ~/pentaho/server/biserver-ee directory path to the place where you
unpacked your pentaho files.
f) To switch to the Hibernate database, type this.
\c postgres
g) Run the script to create the Operations Mart database by typing this.
\i ~/pentaho/server/biserver-ee/data/postgresql/pentaho_mart_postgresql.sql
h) Exit from the window by pressing the CTRL + C keys.
4. To verify that databases and user roles have been created, do this.
a) Open the pgAdminIII tool. pgAdminIII is bundled with both the Windows and Linux versions of PostgreSQL.
b) To view the contents of PostgreSQL, click the PostgreSQL folder in the Object Browser, then enter the
password when prompted.
c) In the Object Browser, click the Databases folder. The Jackrabbit, Postgres, Hibernate and Quartz databases
should appear.
d) In the Object Browser, click the Login Roles folder. The jcr_user, pentaho_user, hibuser, and postgres user
accounts appear.
e) If the databases and login roles do not appear, go to the beginning of these instructions and try running the
scripts again.
f) Select File > Exit to exit from pgAdminIII.
| Initialize Repository | 15
pentaho/server/biserver-ee/data/mysql5/create_jcr_mysql.sql
pentaho/server/biserver-ee/data/mysql5/create_quartz_mysql.sql
pentaho/server/biserver-ee/data/mysql5/create_repository_mysql.sql
pentaho/server/biserver-ee/data/oracle10g/create_jcr_ora.sql
pentaho/server/biserver-ee/data/oracle10g/create_quartz_ora.sql
pentaho/server/biserver-ee/data/oracle10g/create_repository_ora.sql
| Initialize Repository | 16
2. Although there are several different methods for running SQL scripts, these instructions explain how to run SQL*Plus
from a Terminal or Command Prompt window. These instructions are the same for both Windows and Linux. If you
prefer to run SQL scripts using another method, modify instructions accordingly.
a) Open a Terminal or Command Prompt window, start the SQL*Plus and log in.
b) Run the script to create the Jackrabbit database by typing START create_jcr_ora. If necessary, append the
path to the create_jcr_ora.sql path in the command.
c) Run the script to create the repository database by typing START create_repository_ora. If necessary,
append the path to the create_repository_ora.sql path in the command.
d) Run the script to create the Quartz database and users by typing START create_quartz_ora. If necessary,
append the path to the create_quartz_ora.sql path in the command.
e) Run the script to create the Operations Mart database and users by typing START pentaho_mart_ora. If
necessary, append the path to the pentaho_mart_ora.sql path in the command.
3. To verify that databases and user roles have been created, do this.
a) In the Terminal or Command Prompt window that is running SQL*Plus, make sure that the Jackrabbit database
has been created by typing DESCRIBE JACKRABBIT;. The column definitions should appear when you press
Enter.
b) Make sure the Quartz database has been created by typing DESCRIBE QUARTZ;. The column definitions for the
Quartz table should appear when you press Enter.
c) To see the users that have been created, type SELECT USERNAME FROM DBA_USERS.
d) If the databases and login roles do not appear, go to the beginning of these instructions and try running the
scripts again.
e) Exit from SQL*Plus.
| Configure Repository | 17
Configure Repository
Before you configure the BA Repository, complete the tasks in Initialize Repository.
Tasks performed during this step include configuring Audit, Quartz, and Hibernate properties. Tasks are grouped by the
BA Repository database you have.
| Configure Repository | 18
4. Open pentaho/server/biserver-ee/pentaho-solutions/system/hibernate/
postgresql.hibernate.cfg.xml in a text editor.
5. Make sure that the password and port number match the ones you specified in your configuration. Make changes as
necessary, then save and close the file.
| Configure Repository | 19
<param name="schemaObjectPrefix" value="ds_repos_"/>
</DataStore>
-->
<DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
<param name="url" value="jdbc:postgresql://localhost:5432/jackrabbit"/>
<param name="driver" value="org.postgresql.Driver"/>
<param name="user" value="jcr_user"/>
<param name="password" value="password"/>
<param name="databaseType" value="postgresql"/>
<param name="minRecordLength" value="1024"/>
<param name="maxConnections" value="3"/>
<param name="copyWhenReading" value="true"/>
<param name="tablePrefix" value=""/>
<param name="schemaObjectPrefix" value="ds_repos_"/>
</DataStore>
Note: If you changed your password when you initialized the database during the Prepare Environment step, or if
your database is on a different port, edit the url and password parameters accordingly.
4. In the Workspaces section of the code, make sure that the PostgreSQL lines of code are not commented out, but the
Oracle and MySQL lines are. This code should look like this.
<!-<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="driver" value="com.mysql.jdbc.Driver"/>
...
<param name="schemaObjectPrefix" value="fs_ws_"/>
</FileSystem>
<FileSystem class="org.apache.jackrabbit.core.fs.db.OracleFileSystem">
<param name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
...
<param name="schemaObjectPrefix" value="fs_ws_"/>
<param name="tablespace" value="jcr_user"/>
</FileSystem>
-->
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="driver" value="org.postgresql.Driver"/>
<param name="url" value="jdbc:postgresql://localhost:5432/jackrabbit"/>
<param name="user" value="jcr_user"/>
<param name="password" value="password"/>
<param name="schema" value="postgresql"/>
<param name="schemaObjectPrefix" value="fs_ws_"/>
</FileSystem>
Note: If you changed your password when you initialized the database during the Prepare Environment step, or if
your database is on a different port, edit the url and password parameters accordingly.
5. In the Persistence Manager section of the code, verify that the PostgreSQL lines of code are not commented out, but
the Oracle and MySQL lines are. The code should look like this.
<!-<PersistenceManager
class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager">
<param name="url" value="jdbc:mysql://localhost:3306/jackrabbit"/>
...
<param name="schemaObjectPrefix" value="${wsp.name}_pm_ws_"/>
</PersistenceManager>
<PersistenceManager
class="org.apache.jackrabbit.core.persistence.bundle.OraclePersistenceManager">
<param name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
...
<param name="schemaObjectPrefix" value="${wsp.name}_pm_ws_"/>
<param name="tablespace" value="jackrabbit"/>
</PersistenceManager>
-->
<PersistenceManager
class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
<param name="url" value="jdbc:postgresql://localhost:5432/jackrabbit"/>
<param name="driver" value="org.postgresql.Driver"/>
| Configure Repository | 20
<param name="user" value="jcr_user"/>
<param name="password" value="password"/>
<param name="schema" value="postgresql"/>
<param name="schemaObjectPrefix" value="${wsp.name}_pm_ws_"/>
</PersistenceManager>
Note: If you changed your password when you initialized the database during the Prepare Environment step, or if
your database is on a different port, edit the url and password parameters accordingly.
6. In the Versioning section of the code, verify that the PostgreSQL lines of code are not commented out, but the
MySQL and Oracle lines are. The code should look like this.
<!-<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="driver" value="com.mysql.jdbc.Driver"/>
...
<param name="schemaObjectPrefix" value="fs_ver_"/>
</FileSystem>
<FileSystem class="org.apache.jackrabbit.core.fs.db.OracleFileSystem">
<param name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
...
<param name="schemaObjectPrefix" value="fs_ver_"/>
<param name="tablespace" value="jackrabbit"/>
</FileSystem>
-->
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="driver" value="org.postgresql.Driver"/>
<param name="url" value="jdbc:postgresql://localhost:5432/jackrabbit"/>
<param name="user" value="jcr_user"/>
<param name="password" value="password"/>
<param name="schema" value="postgresql"/>
<param name="schemaObjectPrefix" value="fs_ver_"/>
</FileSystem>
Note: If you changed your password when you initialized the database during the Prepare Environment step, or if
your database is on a different port, edit the url and password parameters accordingly.
7. In the Persistence Manager section of the code that is near the end of the file, verify that PostgreSQL lines of code
are not commented out, but the MySQL and Oracle lines are. The codes should look like this.
<!-<PersistenceManager
class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager">
<param name="url" value="jdbc:mysql://localhost:3306/jackrabbit"/>
...
<param name="schemaObjectPrefix" value="pm_ver_"/>
</PersistenceManager>
<PersistenceManager
class="org.apache.jackrabbit.core.persistence.bundle.OraclePersistenceManager">
<param name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
...
<param name="schemaObjectPrefix" value="pm_ver_"/>
<param name="tablespace" value="jackrabbit"/>
</PersistenceManager>
-->
<PersistenceManager
class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
<param name="url" value="jdbc:postgresql://localhost:5432/jackrabbit"/>
<param name="driver" value="org.postgresql.Driver"/>
<param name="user" value="jcr_user"/>
<param name="password" value="password"/>
<param name="schema" value="postgresql"/>
<param name="schemaObjectPrefix" value="pm_ver_"/>
</PersistenceManager>
Note: If you changed your password when you initialized the database during the Prepare Environment step, or if
your database is on a different port, edit the url and password parameters accordingly.
| Configure Repository | 21
8. Close and save the file.
| Configure Repository | 22
When code is commented out, it appears between the <!-- and --> tags. The information in between the tags
is commented out, and is therefore not executed by the software. In this example, the code <! <FileSystem
class=org.apache.jackrabbit.core.fs.db.OracleFileSystem> is commented out.
<!-<FileSystem class=org.apache.jackrabbit.core.fs.db.OracleFileSystem>
-->
To modify the Jackrabbit repository so that MySQL is the default database, do this.
1. Use a text editor to open the pentaho/server/biserver-ee/pentaho-solutions/system/jackrabbit/
repository.xml file.
2. In the Repository's FileSystem part of the code, change the code so that the MySQL lines of code are not
commented out, but the PostgreSQL and Oracle lines are, like this.
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="driver" value="com.mysql.jdbc.Driver"/>
<param name="url" value="jdbc:mysql://localhost:3306/jackrabbit"/>
<param name="user" value="jcr_user"/>
<param name="password" value="password"/>
<param name="schema" value="mysql"/>
<param name="schemaObjectPrefix" value="fs_repos_"/>
</FileSystem>
<!-<FileSystem class="org.apache.jackrabbit.core.fs.db.OracleFileSystem">
<param name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
...
<param name="schemaObjectPrefix" value="fs_repos_"/>
<param name="tablespace" value="jackrabbit"/>
</FileSystem>
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="driver" value="org.postgresql.Driver"/>
...
<param name="schemaObjectPrefix" value="fs_repos_"/>
</FileSystem>
-->
Note:If you changed your password when you initialized the database during the Prepare Environment step, or if
your database is on a different port, edit the url and password parameters accordingly.
3. In the DataStore section of the code, change the code so that the MySQL lines of code are not commented out, but
the PostgreSQL and Oracle lines are, like this.
<DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
<param name="url" value="jdbc:mysql://localhost:3306/jackrabbit"/>
<param name="user" value="jcr_user"/>
<param name="password" value="password"/>
<param name="databaseType" value="mysql"/>
<param name="driver" value="com.mysql.jdbc.Driver"/>
<param name="minRecordLength" value="1024"/>
<param name="maxConnections" value="3"/>
<param name="copyWhenReading" value="true"/>
<param name="tablePrefix" value=""/>
<param name="schemaObjectPrefix" value="ds_repos_"/>
</DataStore>
<!-<DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
<param name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
...
<param name="schemaObjectPrefix" value="ds_repos_"/>
</DataStore>
<DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
<param name="url" value="jdbc:postgresql://localhost:5432/jackrabbit"/>
...
<param name="schemaObjectPrefix" value="ds_repos_"/>
</DataStore>
| Configure Repository | 23
-->
4. In the Workspaces section of the code, change the code so that the MySQL lines of code are not commented out,
but the PostgreSQL and Oracle lines are, like this.
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="driver" value="com.mysql.jdbc.Driver"/>
<param name="url" value="jdbc:mysql://localhost:3306/jackrabbit"/>
<param name="user" value="jcr_user"/>
<param name="password" value="password"/>
<param name="schema" value="mysql"/>
<param name="schemaObjectPrefix" value="fs_ws_"/>
</FileSystem>
<!-<FileSystem class="org.apache.jackrabbit.core.fs.db.OracleFileSystem">
<param name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
...
<param name="schemaObjectPrefix" value="fs_ws_"/>
<param name="tablespace" value="jcr_user"/>
</FileSystem>
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="driver" value="org.postgresql.Driver"/>
...
<param name="schemaObjectPrefix" value="fs_ws_"/>
</FileSystem>
-->
Note:If you changed your password when you initialized the database during the Prepare Environment step, or if
your database is on a different port, edit the url and password parameters accordingly.
5. In the Persistence Manager section of the code, change the code so that the MySQL lines of code are not
commented out, but the PostgreSQL and Oracle lines are, like this.
<PersistenceManager
class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager">
<param name="url" value="jdbc:mysql://localhost:3306/jackrabbit"/>
<param name="user" value="jcr_user" />
<param name="password" value="password" />
<param name="schema" value="mysql"/>
<param name="schemaObjectPrefix" value="${wsp.name}_pm_ws_"/>
</PersistenceManager>
<!-<PersistenceManager
class="org.apache.jackrabbit.core.persistence.bundle.OraclePersistenceManager">
<param name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
...
<param name="schemaObjectPrefix" value="${wsp.name}_pm_ws_"/>
<param name="tablespace" value="jackrabbit"/>
</PersistenceManager>
<PersistenceManager
class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
<param name="url" value="jdbc:postgresql://localhost:5432/jackrabbit"/>
...
<param name="schemaObjectPrefix" value="${wsp.name}_pm_ws_"/>
</PersistenceManager>
-->
Note:If you changed your password when you initialized the database during the Prepare Environment step, or if
your database is on a different port, edit the url and password parameters accordingly.
6. In the Versioning section of the code, change the code so that the MySQL lines of code are not commented out, but
the PostgreSQL and Oracle lines are, like his.
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="driver" value="com.mysql.jdbc.Driver"/>
<param name="url" value="jdbc:mysql://localhost:3306/jackrabbit"/>
<param name="user" value="jcr_user"/>
<param name="password" value="password"/>
<param name="schema" value="mysql"/>
| Configure Repository | 24
<param name="schemaObjectPrefix" value="fs_ver_"/>
</FileSystem>
<!-<FileSystem class="org.apache.jackrabbit.core.fs.db.OracleFileSystem">
<param name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
...
<param name="schemaObjectPrefix" value="fs_ver_"/>
<param name="tablespace" value="jackrabbit"/>
</FileSystem>
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="driver" value="org.postgresql.Driver"/>
...
<param name="schemaObjectPrefix" value="fs_ver_"/>
</FileSystem>
-->
Note:If you changed your password when you initialized the database during the Prepare Environment step, or if
your database is on a different port, edit the url and password parameters accordingly.
7. In the Persistence Manager section of the code that is near the end of the file, change the code so that the MySQL
lines of code are not commented out, but the PostgreSQL and Oracle lines are, like this.
<PersistenceManager
class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager">
<param name="url" value="jdbc:mysql://localhost:3306/jackrabbit"/>
<param name="user" value="jcr_user" />
<param name="password" value="password" />
<param name="schema" value="mysql"/>
<param name="schemaObjectPrefix" value="pm_ver_"/>
</PersistenceManager>
<!-<PersistenceManager
class="org.apache.jackrabbit.core.persistence.bundle.OraclePersistenceManager">
<param name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
...
<param name="schemaObjectPrefix" value="pm_ver_"/>
<param name="tablespace" value="jackrabbit"/>
</PersistenceManager>
<PersistenceManager
class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
<param name="url" value="jdbc:postgresql://localhost:5432/jackrabbit"/>
...
<param name="schemaObjectPrefix" value="pm_ver_"/>
</PersistenceManager>
-->
Note:If you changed your password when you initialized the database during the Prepare Environment step, or if
your database is on a different port, edit the url and password parameters accordingly.
| Configure Repository | 25
2. In the #_replace_jobstore_properties section of the file, set the
org.quartz.jobStore.driverDelegateClass equal to
org.quartz.impl.jdbcjobstore.oracle.OracleDelegate.
org.quartz.jobStore.driverDelegateClass =
org.quartz.impl.jdbcjobstore.oracle.OracleDelegate
3. Save the file and close the text editor.
| Configure Repository | 26
<param name="url" value="jdbc:mysql://localhost:3306/jackrabbit"/>
...
<param name="schemaObjectPrefix" value="fs_repos_"/>
</FileSystem>
-->
<FileSystem class="org.apache.jackrabbit.core.fs.db.OracleFileSystem">
<param name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
<param name="user" value="jcr_user"/>
<param name="password" value="password"/>
<param name="schemaObjectPrefix" value="fs_repos_"/>
<param name="tablespace" value="jackrabbit"/>
</FileSystem>
<!-<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="driver" value="org.postgresql.Driver"/>
<param name="url" value="jdbc:postgresql://localhost:5432/jackrabbit"/>
...
<param name="schemaObjectPrefix" value="fs_repos_"/>
</FileSystem>
-->
Note:If you changed your password when you initialized the database during the Prepare Environment step, or if
your database is on a different port, edit the url and password parameters accordingly.
3. Change <param name="tablespace" value="jackrabbit"/> to <param name="tablespace"
value="pentaho_tablespace"/>.
4. In the DataStore section of the code, change the code so that the Oracle lines of code are not commented out, but
the PostgreSQL and MySQL lines are, like this.
<!-<DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
<param name="url" value="jdbc:mysql://localhost:3306/jackrabbit"/>
...
<param name="schemaObjectPrefix" value="ds_repos_"/>
</DataStore>
-->
<DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
<param name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
<param name="driver" value="oracle.jdbc.driver.OracleDriver"/>
<param name="user" value="jcr_user"/>
<param name="password" value="password"/>
<param name="databaseType" value="oracle"/>
<param name="minRecordLength" value="1024"/>
<param name="maxConnections" value="3"/>
<param name="copyWhenReading" value="true"/>
<param name="tablePrefix" value=""/>
<param name="schemaObjectPrefix" value="ds_repos_"/>
</DataStore>
<!-<DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
<param name="url" value="jdbc:postgresql://localhost:5432/jackrabbit"/>
...
<param name="schemaObjectPrefix" value="ds_repos_"/>
</DataStore>
Note:If you changed your password when you initialized the database during the Prepare Environment step, or if
your database is on a different port, edit the url and password parameters accordingly.
5. In the Workspaces section of the code, change the code so that the Oracle lines of code are not commented out, but
the PostgreSQL and MySQL lines are, like this.
<!-<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="driver" value="com.mysql.jdbc.Driver"/>
<param name="url" value="jdbc:mysql://localhost:3306/jackrabbit"/>
...
<param name="schemaObjectPrefix" value="fs_ws_"/>
</FileSystem>
| Configure Repository | 27
-->
<FileSystem class="org.apache.jackrabbit.core.fs.db.OracleFileSystem">
<param name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
<param name="user" value="jcr_user"/>
<param name="password" value="password"/>
<param name="schemaObjectPrefix" value="fs_ws_"/>
<param name="tablespace" value="jcr_user"/>
</FileSystem>
<!-<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="driver" value="org.postgresql.Driver"/>
<param name="url" value="jdbc:postgresql://localhost:5432/jackrabbit"/>
...
<param name="schemaObjectPrefix" value="fs_ws_"/>
</FileSystem>
-->
Note:If you changed your password when you initialized the database during the Prepare Environment step, or if
your database is on a different port, edit the url and password parameters accordingly.
6. Change <param name="tablespace" value="jcr_user"/> to <param name="tablespace" value="pentaho_tablespace"/
>.
7. In the Persistence Manager section of the code, change the code so that the Oracle lines of code are not
commented out, but the PostgreSQL and MySQL lines are, like this.
<!-<PersistenceManager
class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager">
<param name="url" value="jdbc:mysql://localhost:3306/jackrabbit"/>
...
<param name="schemaObjectPrefix" value="${wsp.name}_pm_ws_"/>
</PersistenceManager>
-->
<PersistenceManager
class="org.apache.jackrabbit.core.persistence.bundle.OraclePersistenceManager">
<param name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
<param name="driver" value="oracle.jdbc.driver.OracleDriver"/>
<param name="user" value="jcr_user"/>
<param name="password" value="password"/>
<param name="schema" value="oracle"/>
<param name="schemaObjectPrefix" value="${wsp.name}_pm_ws_"/>
<param name="tablespace" value="jackrabbit"/>
</PersistenceManager>
<!-<PersistenceManager
class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
<param name="url" value="jdbc:postgresql://localhost:5432/jackrabbit"/>
...
<param name="schemaObjectPrefix" value="${wsp.name}_pm_ws_"/>
</PersistenceManager>
-->
Note:If you changed your password when you initialized the database during the Prepare Environment step, or if
your database is on a different port, edit the url and password parameters accordingly.
8. Change <param name="tablespace" value="jackrabbit"/> to <param name="tablespace"
value="pentaho_tablespace"/>.
9. In the Versioning section of the code, change the code so that the Oracle lines of code are not commented out, but
the PostgreSQL and MySQL lines are, like his.
<!-<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="driver" value="com.mysql.jdbc.Driver"/>
<param name="url" value="jdbc:mysql://localhost:3306/jackrabbit"/>
...
<param name="schemaObjectPrefix" value="fs_ver_"/>
</FileSystem>
-->
| Configure Repository | 28
<FileSystem class="org.apache.jackrabbit.core.fs.db.OracleFileSystem">
<param name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
<param name="user" value="jcr_user"/>
<param name="password" value="password"/>
<param name="schemaObjectPrefix" value="fs_ver_"/>
<param name="tablespace" value="jackrabbit"/>
</FileSystem>
<!-<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="driver" value="org.postgresql.Driver"/>
<param name="url" value="jdbc:postgresql://localhost:5432/jackrabbit"/>
...
<param name="schemaObjectPrefix" value="fs_ver_"/>
</FileSystem>
-->
Note:If you changed your password when you initialized the database during the Prepare Environment step, or if
your database is on a different port, edit the url and password parameters accordingly.
10.Change <param name="tablespace" value="jackrabbit"/> to <param name="tablespace"
value="pentaho_tablespace"/>.
11.In the Persistence Manager section of the code that is near the end of the file, change the code so that the Oracle
lines of code are not commented out, but the PostgreSQL and MySQL lines are, like this.
<!-<PersistenceManager
class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager">
<param name="url" value="jdbc:mysql://localhost:3306/jackrabbit"/>
...
<param name="schemaObjectPrefix" value="pm_ver_"/>
</PersistenceManager>
-->
<PersistenceManager
class="org.apache.jackrabbit.core.persistence.bundle.OraclePersistenceManager">
<param name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
<param name="driver" value="oracle.jdbc.driver.OracleDriver"/>
<param name="user" value="jcr_user"/>
<param name="password" value="password"/>
<param name="schema" value="oracle"/>
<param name="schemaObjectPrefix" value="pm_ver_"/>
<param name="tablespace" value="jackrabbit"/>
</PersistenceManager>
<!-<PersistenceManager
class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
<param name="url" value="jdbc:postgresql://localhost:5432/jackrabbit"/>
...
<param name="schemaObjectPrefix" value="pm_ver_"/>
</PersistenceManager>
-->
Note:If you changed your password when you initialized the database during the Prepare Environment step, or if
your database is on a different port, edit the url and password parameters accordingly.
12.Change <param name="tablespace" value="jackrabbit"/> to <param name="tablespace"
value="pentaho_tablespace"/>.
| Specify Connections | 29
Specify Connections
After your repository has been configured, you must configure the web application servers to connect to the BA
Repository. In this step, JDBC and JNDI connections are made to the Hibernate, Jackrabbit, and Quartz databases.
These databases were installed on your BA Repository database during the Initialize Repository and Configure
Repository sections of these instructions.
By default, the BA Server software is configured to be deployed and run on the Tomcat server. As such, connections
have already been specified and only the Tomcat context.xml file must be modified. For JBoss, both JDBC and JNDI
connection information must be specified. Since what must be completed varies according to web server, tasks in this
section are grouped according to the web application server you have installed.
If you have Tomcat, complete the following tasks.
| Specify Connections | 30
values for the validationQuery parameters in this file if you have choosen to use an BA Repository database other
than PostgreSQL.
1. Consult your database documentation to determine the JDBC class name and connection string for your BA
Repository database.
2. View the contents of the pentaho.war file with a zip utility, such as 7-Zip, WinZip, or Archive. Do not unzip the file.
3. Use a text editor of your choice to open the context.xml file that is in Tomcat's META-INF/ directory.
4. Do one of these things.
a) If you are using PostgreSQL as your BA Repository database, comment out the resource references that refer to
other databases, such as PostgreSQL and Oracle. In the PostgreSQL sections make sure tha the code looks like
the following, but adjust the port numbers and passwords to reflect your environment, if necessary.
<Resource validationQuery="select 1" url="jdbc:postgresql://
localhost:5432/hibernate" driverClassName="org.postgresql.Driver"
password="password" username="hibuser" maxWait="10000" maxIdle="5"
maxActive="20" factory="org.apache.commons.dbcp.BasicDataSourceFactory"
type="javax.sql.DataSource" auth="Container" name="jdbc/Hibernate"/>
<Resource validationQuery="select 1" url="jdbc:postgresql://
localhost:5432/hibernate" driverClassName="org.postgresql.Driver"
password="password" username="hibuser" maxWait="10000" maxIdle="5"
maxActive="20" factory="org.apache.commons.dbcp.BasicDataSourceFactory"
type="javax.sql.DataSource" auth="Container" name="jdbc/Audit"/>
<Resource validationQuery="select 1" url="jdbc:postgresql://
localhost:5432/quartz" driverClassName="org.postgresql.Driver"
password="password" username="pentaho_user" maxWait="10000" maxIdle="5"
maxActive="20" factory="org.apache.commons.dbcp.BasicDataSourceFactory"
type="javax.sql.DataSource" auth="Container" name="jdbc/Quartz"/>
<Resource validationQuery="select 1" url="jdbc:postgresql://
localhost:5432/hibernate" driverClassName="org.postgresql.Driver"
password="password" username="hibuser" maxWait="10000" maxIdle="5"
maxActive="20" factory="org.apache.commons.dbcp.BasicDataSourceFactory"
type="javax.sql.DataSource" auth="Container" name="jdbc/
pentaho_operations_mart"/>
<Resource validationQuery="select 1" url="jdbc:postgresql://
localhost:5432/hibernate" driverClassName="org.postgresql.Driver"
password="password" username="hibuser" maxWait="10000" maxIdle="5"
maxActive="20" factory="org.apache.commons.dbcp.BasicDataSourceFactory"
type="javax.sql.DataSource" auth="Container" name="jdbc/PDI_Operations_Mart"/>
b) If you are using MySQL as your BA Repository database, comment out the resource references that refer to other
databases, such as PostgreSQL and Oracle. Then, add the following code to the file if it does not already exist.
Adjust the port numbers and passwords to reflect your environment, if necessary.
<Resource validationQuery="select 1" url="jdbc:mysql://localhost:3306/
hibernate" driverClassName="com.mysql.jdbc.Driver" password="password"
username="hibuser" maxWait="10000" maxIdle="5" maxActive="20"
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
type="javax.sql.DataSource" auth="Container" name="jdbc/Hibernate"/>
<Resource validationQuery="select 1" url="jdbc:mysql://localhost:3306/
hibernate" driverClassName="com.mysql.jdbc.Driver" password="password"
username="hibuser" maxWait="10000" maxIdle="5" maxActive="20"
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
type="javax.sql.DataSource" auth="Container" name="jdbc/Audit"/>
<Resource validationQuery="select 1" url="jdbc:mysql://localhost:3306/
quartz" driverClassName="com.mysql.jdbc.Driver" password="password"
username="pentaho_user" maxWait="10000" maxIdle="5" maxActive="20"
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
type="javax.sql.DataSource" auth="Container" name="jdbc/Quartz"/>
<Resource validationQuery="select 1" url="jdbc:mysql://localhost:3306/
pentaho_operations_mart" driverClassName="com.mysql.jdbc.Driver"
password="password" username="hibuser" maxWait="10000" maxIdle="5"
maxActive="20" factory="org.apache.commons.dbcp.BasicDataSourceFactory"
type="javax.sql.DataSource" auth="Container" name="jdbc/
pentaho_operations_mart"/>
<Resource validationQuery="select 1" url="jdbc:mysql://localhost:3306/
pentaho_operations_mart" driverClassName="com.mysql.jdbc.Driver"
password="password" username="hibuser" maxWait="10000" maxIdle="5"
| Specify Connections | 31
maxActive="20" factory="org.apache.commons.dbcp.BasicDataSourceFactory"
type="javax.sql.DataSource" auth="Container" name="jdbc/PDI_Operations_Mart"/>
c) If you are using Oracle as your BA Repository database, comment out the resource references that refer to other
databases such as PostgreSQL and MySQL. Then, add the following code to the file if it does not exist. Adjust
the port numbers and passwords to reflect your environment, if necessary.
<Resource validationQuery="select 1 from dual"
url="jdbc:oracle:thin:@localhost:1521/XE"
driverClassName="oracle.jdbc.OracleDriver" password="password"
username="hibuser" maxWait="10000" maxIdle="5" maxActive="20"
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
type="javax.sql.DataSource" auth="Container" name="jdbc/Hibernate"/>
<Resource validationQuery="select 1 from dual"
url="jdbc:oracle:thin:@localhost:1521/XE"
driverClassName="oracle.jdbc.OracleDriver" password="password"
username="hibuser" maxWait="10000" maxIdle="5" maxActive="20"
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
type="javax.sql.DataSource" auth="Container" name="jdbc/Audit"/>
<Resource validationQuery="select 1 from dual"
url="jdbc:oracle:thin:@localhost:1521/XE"
driverClassName="oracle.jdbc.OracleDriver" password="password"
username="quartz" maxWait="10000" maxIdle="5" maxActive="20"
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
type="javax.sql.DataSource" auth="Container" name="jdbc/Quartz"/>
<Resource validationQuery="select 1 from dual"
url="jdbc:oracle:thin:@localhost:1521/XE"
driverClassName="oracle.jdbc.OracleDriver" password="password"
username="hibuser" maxWait="10000" maxIdle="5" maxActive="20"
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
type="javax.sql.DataSource" auth="Container" name="jdbc/
pentaho_operations_mart"/>
<Resource validationQuery="select 1 from dual"
url="jdbc:oracle:thin:@localhost:1521/XE"
driverClassName="oracle.jdbc.OracleDriver" password="password"
username="hibuser" maxWait="10000" maxIdle="5" maxActive="20"
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
type="javax.sql.DataSource" auth="Container" name="jdbc/PDI_Operations_Mart"/>
5. Modify the username, password, driver class information, IP address (or domain name), and port numbers so they
reflect the correct values for your environment.
6. Make sure that the validationQuery variable for your database is set to one of these.
PostgreSQLvalidationQuery="select 1"
MySQL:validationQuery="/* ping */ select 1"/
Oracle:validationQuery="select 1 from dual"
7. Save the context.xmlfile, then close it.
8. To verify that the changes have been made and saved, do this.
a) View the context.xml file. Make sure that the changes that you made to the file in these instructions have been
saved.
b) Close the file.
9. To make sure that the changes that you made in the context.xml file take effect when Tomcat is started, navigate to
the <your tomcat installation directory>\conf\Catalina\localhost directory. If the pentaho.xml
file is in the present, delete it. It will be generated again when you start the BA Server, but will contain the changes
that you just made in the context.xml file.
| Specify Connections | 32
to create a file for the database that hosts the BA Repository (either PostgreSQL, MySQL, or Oracle, as well as for
HSQLDB and H2.
1. Navigate to the pentaho/server/biserver-ee/<your jboss installation directory>/modules/
system/layers/base/org folder and create one of the following paths for the database on which you are hosting
the BA Repository.
PostgreSQL: postgresql/main
MySQL: mysql/main
Oracle: oracle/main
2. Navigate to the pentaho/server/biserver-ee/<your jboss installation directory>/modules/
system/layers/base/com/h2database directory and create the following two paths.
HSQLDB: hsqldb/main
H2: h2/main
3. Download the supported JDBC driver for your BA Repository database to the postgresql/main, mysql/main,
or oracle/main directories (which ever one you created). See the JDBC Drivers Reference for a list of supported
drivers.
4. Download the supported JDBC drivers for HSQLDB and H2. Place HQSLDB's driver in the hsqldb/main directory .
Place H2's driver in the h2/main directory. See the JDBC Drivers Reference for a list of supported drivers.
5. In the postgresql/main, mysql/main, or oracle/main (which ever one you created), do the following things.
a) Use an editor to create a text file named module.xml.
b) Copy the following code to the module.xml file, then modify it so that the name of the JDBC driver you just
downloaded appears.
PostgreSQL: If you are using PostgreSQL, copy the following code in the module.xml file. Replace the
name of the resource-root path parameter with the name of the JDBC driver you downloaded.
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.0" name="org.postgresql">
<resources>
<resource-root path="[Name of JDBC Jar You Downloaded Here]"/>
</resources>
<dependencies><module name="javax.api"/></dependencies>
</module>
MySQL: If you are using MySQL, copy the following code in the module.xml file. Replace the name of the
resource-root path parameter with the name of the JDBC driver you downloaded.
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.0" name="org.mysql">
<resources>
<resource-root path="[Name of JDBC Jar You Downloaded Here]"/>
</resources>
<dependencies><module name="javax.api"/></dependencies>
</module>
Oracle: If you are using Oracle, copy the following code in the module.xml file. Replace the name of the
resource-root path parameter with the name of the JDBC driver you downloaded.
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.0" name="org.oracle">
<resources>
<resource-root path="[Name of JDBC Jar You Downloaded Here]"/>
</resources>
<dependencies><module name="javax.api"/></dependencies>
</module>
| Specify Connections | 33
b) Copy the following code to the module.xml file, then modify it so that the name of the JDBC driver you just
downloaded appears in the resource-root path.
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.0" name="com.h2database.hsqldb">
<resources>
<resource-root path="[Name of JDBC Jar You Downloaded Here]"/>
</resources>
<dependencies><module name="javax.api"/></dependencies>
</module>
c) Save and close the module.xml file.
7. In the h2/main directory, do these things.
a) Use an editor to create a text file named module.xml.
b) Copy the following code to the module.xml file, then modify it so that the name of the JDBC driver you just
downloaded appears in the resource-root path.
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.0" name="com.h2database.h2">
<resources>
<resource-root path="[Name of JDBC Jar You Downloaded Here]"/>
</resources>
<dependencies><module name="javax.api"/></dependencies>
</module>
c) Save and close the module.xml file.
| Specify Connections | 34
</password>
</security>
</datasource>
<datasource jndi-name="java:jboss/datasources/Quartz" poolname="quartzpool" enabled="true" jta="true" use-java-context="true" use-ccm="true">
<connection-url>
jdbc:postgresql://localhost:5432/quartz
</connection-url>
<driver-class>
org.postgresql.Driver
</driver-class>
<driver>
org.postgresql
</driver>
<pool>
<prefill>
false
</prefill>
<use-strict-min>
false
</use-strict-min>
<flush-strategy>
FailingConnectionOnly
</flush-strategy>
</pool>
<security>
<user-name>
pentaho_user
</user-name>
<password>
password
</password>
</security>
</datasource>
<datasource jndi-name="java:jboss/datasources/Audit" poolname="auditpool" enabled="true" jta="true" use-java-context="true" use-ccm="true">
<connection-url>
jdbc:postgresql://localhost:5432/hibernate
</connection-url>
<driver-class>
org.postgresql.Driver
</driver-class>
<driver>
org.postgresql
</driver>
<pool>
<prefill>
false
</prefill>
<use-strict-min>
false
</use-strict-min>
<flush-strategy>
FailingConnectionOnly
</flush-strategy>
</pool>
<security>
<user-name>
pentaho_user
</user-name>
<password>
password
</password>
</security>
</datasource>
<datasource jndi-name="java:jboss/datasources/Pentaho_Operations_Mart" poolname="Pentaho_Operations_Mart" enabled="true" jta="true" use-java-context="true"
use-ccm="true">
<connection-url>
| Specify Connections | 35
jdbc:postgresql://localhost:5432/hibernate
</connection-url>
<driver-class>
org.postgresql.Driver
</driver-class>
<driver>
org.postgresql
</driver>
<pool>
<prefill>
false
</prefill>
<use-strict-min>
false
</use-strict-min>
<flush-strategy>
FailingConnectionOnly
</flush-strategy>
</pool>
<security>
<user-name>
hiuser
</user-name>
<password>
password
</password>
</security>
</datasource>
3. If your environment (e.g. port numbers, IP address), solution repository, or database password and username
information differs from the code you added in the previous step, modify it to match your specifications.
4. Add the driver definition in the driver section of the file. Here is an example of the PostgreSQL driver definition. If you
are using MySQL or Oracle, modify the driver name, module, and data source class accordingly.
<driver name="org.postgresql" module="org.postgresql">
<xa-datasource-class>
org.postgresql.xa.PGXADataSource
</xa-datasource-class>
</driver>
5. Close and save the standalone.xmlfile.
6. Open the pentaho/server/biserver-ee/pentaho-solutions/system/applicationContext-springsecurity-jdbc.xml file. Change the port number, driver class name, user name, and password to reflect your
environment's settings, if necessary. When complete, save and close the file.
| Specify Connections | 36
</deployment>
</jboss-deployment-structure>
Note: If you are using a database other than PostgreSQL for the BA Repository, modify <module
name="org.postgresql" /> to reflect your settings.
3. Save and close the file.
4. Use a zip extraction utility (such as 7-Zip, Winzip, or Archive) to view the contents of the pentaho.war file. Do not
unzip or extract the contents of the file.
5. Navigate to the WEB-INF directory and add the jboss-deployment-structure.xml file that you just created to
it.
6. Close the pentaho.war file. The zip extraction utility that you used might show a prompt that asks whether you
would like to update the file in the pentaho.war archive. If this happens, confirm that you would like to do this.
After you have completed the tasks in the Specify Connections step, you must determine whether your web application
server must be configured before the BA Server is deployed on it.
Tomcat: No additional configuration is required. Proceed to the Start BA Server step.
JBoss: If you have installed the JBoss web application server, you must manually complete several configuration tasks.
Add the list of Oracle JDK packages that JBoss loads by default
Increase the amount of time JBoss allows for BA Server deployment
Disable the JBoss RESTEasy Scan
Set the Location of the Pentaho Solutions Directory
Increase Default Memory Settings
Add to the List of Oracle JDK Packages that JBoss Loads by Default
By default, JBoss loads a subset of packages from the Oracle Java Development Kit (JDK). Deployed web applications
leverage code in JDK packages to perform basic tasks. For example, JBoss automatically loads packages that web
application code can access to perform LDAP single-sign on authentication.
The list of Oracle JDK packages that JBoss loads are located the module.xml file. Pentaho requires JDK packages
that are not included in the JBoss default. You must manually add these files to the list so that JBoss loads them, in
addition to those loaded by JBoss, when the pentaho.war file is deployed.
1. Use a text editor to open the <your jboss installation directory>/modules/system/layers/base/
sun/jdk/main/module.xml file.
2. Open the module.xml file in a text editor, and add these packages to the list right above the META-INF/Services
entry.
<path name="sun/net/www/protocol/jar"/>
<path name="sun/net/www/protocol/jar/JarURLConnection"/>
<path name="com/sun/org/apache/xerces/internal/jaxp/datatype"/>
When complete the file should look similar to this.
<path name="sun/nio/ch"/>
<path name="sun/security"/>
<path name="sun/security/krb5"/>
<path name="sun/util"/>
<path name="sun/util/calendar"/>
<path name="sun/util/locale"/>
<path name="sun/util/resources"/>
<path name="sun/security/pkcs11"/>
<path name="sun/security/provider"/>
<path name="sun/text"/>
<path name="sun/net/www/protocol/jar"/>
<path name="sun/net/www/protocol/jar/JarURLConnection"/>
<path name="com/sun/org/apache/xerces/internal/jaxp/datatype"/>
<path name="META-INF/services"/>
3. Save and close the file.
| Start BA Server | 40
Start BA Server
After you've complete the tasks in the Prepare Environment, Initialize Repository, Specify Connections, and Prepare
Web Server steps, the BA Server's pentaho.war file is ready to be deployed. The way that tasks for deployment
are performed vary slightly depending on whether you deploy the pentaho.war file on the Tomcat or JBoss web
application servers.
Tomcat
Boss
Once the pentaho.war file has been deployed, manually start the BA Server application.
| Start BA Server | 41
Start BA Server
1. Run the startup script for your web application server by launching one these files.
Windows Tomcat: Launch the startup.bat file. The startup.bat file is in the Tomcat bin directory.
Linux Tomcat: Launch the startup.bat file. The startup.sh file is in the Tomcat bin directory.
Windows JBoss: Launch the standalone.bat file. The startup.bat file is in the JBoss bin directory.
Linux JBoss: Launch the standalone.sh file. The startup.bat file is in the JBoss bin directory.
2. Open a web browser and enter this URL: http://localhost:8080/pentaho. The User Console Log On
window appears. Note that you will be prompted to install a license. Information on how to do that appears in the Set
Up BA Server instructions.
| Next Steps | 42
Next Steps
Install the BA design tools, so you can generate models and reports.
Configure the BA Server and design tools so you can install licenses, set up datasources, and choose a security
method, and more. You must install the license to log into the BA Server.
Note: If you have installed the BA Server so that you can migrate content from the old system to this one, make sure
that your license keys have been installed, then view the Upgrade BA System instructions.
Learn More
Web-Based Data Analysis, Reports, and Dashboards Tutorial using the User Console