Archive installation of Pentaho
If you are installing Pentaho in a production environment, use this method to install the Pentaho Server on a server machine while installing design tools on separate client workstations.
You must also choose a Pentaho Repository database, then install it yourself.
By default, the archive installation includes:
BA plugins (such as Analyzer and Interactive Reports).
DI plugins (such as Big Data and Marketplace).
The archive installation includes a preconfigured Tomcat web application server.
Use this method when you do not already have an application server.
For a deployment on an existing application server, see Manual installation.
An archive installation is also useful if you already have Pentaho data or repositories from a previous version.
Prerequisites
This guide assumes that you:
Reviewed installation options in Pentaho installation.
Checked supported platforms in Components Reference.
Uninstalled any evaluation version of Pentaho.
Disabled antivirus software during installation.
Audience
IT administrators who know the data environment and can run Windows or Linux commands.
Tools
You need a text editor and a ZIP tool.
You must provide:
A supported operating system and Java runtime.
A Pentaho Repository database (PostgreSQL, MySQL, MariaDB, MS SQL Server, or Oracle).
JDBC drivers for the database you choose.
Login credentials
Use an account with administrative privileges.
Linux users might need root for some steps.
Requirements for archive installation
An archive installation requires these items and expertise:
You Supply
Each of the following items must meet or exceed the requirements in the Components Reference:- Computer with a supported operating system and hardware configuration.
Oracle Java Runtime Environment (JRE) or Oracle Java Development Kit (JDK).
Pentaho Repository database (PostgreSQL, MySQL, MariaDB, MS SQL Server, or Oracle). You can also use a preexisting Pentaho repository platform.
Pentaho Repository database JDBC drivers (PostgreSQL, MySQL, MariaDB, MS SQL Server, or Oracle).
We Supply
Installation package.
The web application server (Tomcat).
Technologies Used
Tomcat web application server (provided by Pentaho).
A PostgreSQL, MySQL, MariaDB, MS SQL Server, or Oracle database.
Expertise
Knowledge of your networking environment, including database port numbers if they differ from the default and IP address.
Permission to access installation directories.
Root or administrative access.
Approximate Installation Time
60 to 90 minutes.
Download Pentaho from the Support Portal.
Archive installation process
Use this guide to install Pentaho Server using the archive (ZIP) distribution.
Archive installation includes a bundled Tomcat web application server.
If you need to deploy on an existing application server, see Manual installation.
Step 1: Prepare your environment
This procedure helps you prepare a Windows environment for an archive installation.
Process overview
Create Windows directory structure
Choose an installation path for installing Pentaho on a Windows system.
Pentaho recommends this directory structure:
Sign in to the machine where you will run the Pentaho Server.
Create the
pentaho\\serverdirectory (for example,C:\\pentaho\\server).Verify you have read, write, and execute permissions for the directories you created.
Verify users can write to the directory where you install Pentaho.
Install Java
Pentaho requires a supported Java version.
Check Components Reference for supported Java versions.
Download and install the supported JRE or JDK from the Oracle website.
Set
JAVA_HOMEto your Java installation directory.
Example:
Install the Pentaho Repository host database
The Pentaho Repository stores data used for scheduling and security.
It also stores metadata and models for reports.
Choose and install a database to host the Pentaho Repository.
Pentaho supports:
PostgreSQL
MySQL
MariaDB
Oracle
MS SQL Server
Check Components Reference for supported database versions.
Install the database you selected.
Verify the database is installed correctly.
Download and unpack installation files
Pentaho Server and Operations Mart are delivered as compressed files.
Download them, unpack them, then move their contents to the correct directories.
Download files
Sign in to the Support Portal using the credentials from your Pentaho Welcome Packet.
In the Pentaho card, select Download.
In the 11.x list, select Pentaho 11.0 GA Release.
You might need to select See all <number> articles to see the full list of 11.x downloads.
Scroll to the bottom of the Pentaho 11.0 GA Release page.
In the file component section, go to
Pentaho Server\\Archive Build (Suggested Installation Method).Download
pentaho-server-ee-11.0.0.0-<build number>.zip.In the file component section, go back to
11.0.0.0-GA.Open the
Operations Martfolder.Download
pentaho-operations-mart-11.0.0.0-<build number>.zip.
Unpack installation files
Locate the two files you downloaded:
pentaho-server-ee-11.0.0.0-<build number>.zippentaho-operations-mart-11.0.0.0-<build number>.zip
Unpack
pentaho-server-ee-11.0.0.0-<build number>.zipinto the\\pentaho\\serverdirectory.Unpack
pentaho-operations-mart-11.0.0.0-<build number>.zipinto the\\pentaho\\serverdirectory.Move the directory for your database into
pentaho\\server\\pentaho-server\\data\\<database name>. Delete the others.
Use these directory names:
PostgreSQL →
postgresqlMySQL or MariaDB →
mysql5Oracle →
oracle10gMS SQL Server →
sqlserver
Complete the steps for installing Data Integration Operations Mart in the Administer Pentaho Data Integration and Analytics document before installing your database.
Verify directory structure
Verify the files are placed correctly.
Your pentaho directory should include:
pentaho\\server\\pentaho-server\\pentaho\\server\\pentaho-server\\data\\<database name>
Set environment variables
If you do not set the required *_HOME environment variables, Pentaho might not start correctly.
Set
PENTAHO_JAVA_HOMEto your Java installation directory:
(Optional) If you are using a JRE, also set
JRE_HOME.Sign out and sign back in, then verify the variables are set.
Example:
Prepare the Pentaho Repository
After you finish preparing your environment, go to Step 2: Set up the Pentaho Repository.
This procedure helps you prepare a Linux environment for an archive installation.
Process overview
Create the Pentaho user
Create a user account with administrative privileges.
You will use this account for the remaining steps.
Create an administrative user on the server and name it
pentaho.Verify the
pentahouser can read, write, and run commands in its home directory.Verify users can write to the directory where you install Pentaho.
Create Linux directory structure
Choose an installation path.
Pentaho recommends this directory structure under the pentaho user’s home directory:
Sign in to the machine where you will run the Pentaho Server.
Make sure you are signed in as the
pentahouser.Create these directories:
Verify you have read, write, and execute permissions for the directories you created.
Install Java
Pentaho requires a supported Java version.
Check Components Reference for supported Java versions.
Download and install the supported JRE or JDK from the Oracle website.
Set
JAVA_HOMEto your Java installation directory.
Example:
Install the Pentaho Repository host database
The Pentaho Repository stores data used for scheduling and security.
It also stores metadata and models for reports.
Choose and install a database to host the Pentaho Repository.
Pentaho supports:
PostgreSQL
MySQL
MariaDB
Oracle
MS SQL Server
Check Components Reference for supported database versions.
Install the database you selected.
Verify the database is installed correctly.
Download and unpack installation files
Pentaho Server and Operations Mart are delivered as compressed files.
Download them, unpack them, then move their contents to the correct directories.
Download files
Sign in to the Support Portal using the credentials from your Pentaho Welcome Packet.
In the Pentaho card, select Download.
In the 11.x list, select Pentaho 11.0 GA Release.
You might need to select See all <number> articles to see the full list of 11.x downloads.
Scroll to the bottom of the Pentaho 11.0 GA Release page.
In the file component section, go to
Pentaho Server/Archive Build (Suggested Installation Method).Download
pentaho-server-ee-11.0.0.0-<build number>.zip.In the file component section, go back to
11.0.0.0-GA.Open the
Operations Martfolder.Download
pentaho-operations-mart-11.0.0.0-<build number>.zip.
Unpack installation files
Locate the two files you downloaded:
pentaho-server-ee-11.0.0.0-<build number>.zippentaho-operations-mart-11.0.0.0-<build number>.zip
Unpack
pentaho-server-ee-11.0.0.0-<build number>.zipinto the/pentaho/serverdirectory.Unpack
pentaho-operations-mart-11.0.0.0-<build number>.zipinto the/pentaho/serverdirectory.Move the directory for your database into
pentaho/server/pentaho-server/data/<database name>. Delete the others.
Use these directory names:
PostgreSQL →
postgresqlMySQL →
mysql5Oracle →
oracle10gMS SQL Server →
sqlserver
Complete the steps for installing Data Integration Operations Mart in the Administer Pentaho Data Integration and Analytics document before installing your database.
Verify directory structure
Verify the files are placed correctly.
Your pentaho directory should include:
pentaho/server/pentaho-server/pentaho/server/pentaho-server/data/<database name>
Set environment variables
If you do not set the required *_HOME environment variables, Pentaho might not start correctly.
Set
PENTAHO_JAVA_HOMEto your Java installation directory:
(Optional) If you are using a JRE, also set
JRE_HOME.Sign out and sign back in, then verify the variables are set.
Advanced Linux considerations
Some headless server scenarios need extra configuration:
A system with no video card
A system with a video card but no X server installed
In some environments (especially without a video card), you might need both procedures to generate reports.
Systems without video cards
Add -Djava.awt.headless=true to CATALINA_OPTS in your application server startup scripts.
Do this before you start Pentaho Server the first time.
Startup can fail if any environment variable value is invalid. Double-check settings after edits.
Example:
If you create a service control script, add the same parameter to its CATALINA_OPTS.
Systems without X11
Chart generation requires X11 functions.
If you cannot install an X server, install Xvfb instead.
Xvfb emulates X11 in memory.
Install Xvfb using your operating system’s package manager.
Prepare the Pentaho Repository
After you finish preparing your environment, go to Step 2: Set up the Pentaho Repository.
Step 2: Set up the Pentaho Repository
The Pentaho Repository resides on the database you installed during environment preparation.
It includes these components:
Jackrabbit Contains the solution repository, examples, security data, and report content.
Quartz Holds data related to scheduling reports and jobs.
Hibernate Holds data related to audit logging.
(Optional) Pentaho Operations Mart Reports on system usage and performance.
Select the database you are using.
Use this procedure to install PostgreSQL as the host database for the Pentaho Repository in an archive installation.
Before you begin
Prerequisite
Before you prepare your Pentaho Repository, complete Step 1: Prepare your environment.
Components
The Pentaho Repository resides on the database that you installed during the environment preparation step.
It consists of these components:
Jackrabbit
Contains the solution repository, examples, security data, and content data from reports that you use Pentaho software to create.
Quartz
Holds data related to scheduling reports and jobs.
Hibernate
Holds data related to audit logging.
(Optional) Pentaho Operations Mart
Reports on system usage and performance.
Initialize the PostgreSQL Pentaho Repository database
To initialize PostgreSQL so it serves as the Pentaho Repository, run SQL scripts to create these components:
Hibernate
Quartz
Jackrabbit (JCR)
(Optional) Pentaho Operations Mart
CAUTION:
Use the ASCII character set when you run these scripts.
Do not use UTF-8.
Text string length limitations might cause the scripts to fail.
CAUTION:
If you use a different password or user, update the examples to match.
CAUTION:
Pentaho 10.2.0.0 and earlier use Quartz 1.x.
Quartz 1.x uses a QRTZ5_ prefix in the database.
Pentaho 10.2.0.1 and later use Quartz 2.x.
Quartz 2.x uses a QRTZ6_ prefix in the database.
When upgrading from an earlier version to Pentaho 10.2.0.1 and later, create the QRTZ6_ tables by repeating the Quartz database creation procedure.
You can optionally migrate existing Quartz schedules using the migration script.
During this upgrade procedure, executing the SQL create script resets the corresponding Quartz database without loss of the original data.
However, the other associated repository databases in 10.2.0.1 will be reset by SQL scripts if run, and data might be deleted.
Always back up your data before proceeding.
Important: If you do not complete the Quartz upgrade, Pentaho Server fails at startup.
You will also see this exception message in catalina.log:
Step 1: Change default passwords
For production, follow best practices and change the default passwords in the SQL script files.
Note: If you are evaluating Pentaho, you might want to skip this step.
Browse to the
<your pentaho directory>/pentaho-server/data/postgresqlfolder.Use a text editor to modify these create scripts as needed for your user, password, database, and other values:
create_jcr_postgresql.sqlcreate_quartz_postgresql.sqlcreate_repository_postgresql.sqlpentaho_mart_postgresql.sql
Save and close the files.
Step 2: Run SQL scripts
To use PostgreSQL as the database for your Pentaho Repository, you must initialize the Jackrabbit, Quartz, Hibernate, and Operations Mart components.
You can run SQL scripts developed by Pentaho to create and initialize these components.
When upgrading from earlier Pentaho versions, including 10.2.0.0 GA to 10.2.0.1 and later, you must manually initialize a new Quartz database.
This creates a new Quartz library in the repository database.
Back up your data before proceeding.
If you want to keep your existing Quartz library data, you can migrate the current tables to the new tables.
Note: You may need administrator permissions to run these scripts on the host OS server.
Back up your data. See Back up your existing Pentaho products and install Pentaho 10.3.
If Pentaho Server is running, stop it.
Ensure your PostgreSQL instance is running.
Open a PSQL console window and run these SQL creation scripts in this order:
<your pentaho directory>/pentaho-server/data/postgresql/create_quartz_postgresql.sql<your pentaho directory>/pentaho-server/data/postgresql/create_jcr_postgresql.sql<your pentaho directory>/pentaho-server/data/postgresql/create_repository_postgresql.sql(initializes Hibernate)<your pentaho directory>/pentaho-server/data/postgresql/pentaho_mart_postgresql.sql
The Quartz database, Jackrabbit and PostgreSQL repositories, and Pentaho Operations Mart are created.
The new Quartz scheduler tables prefixed with
QRTZ6_are created.Any existing
QRTZ5_scheduler database is retained.Starting the Pentaho Server at this point results in an empty schedule.
If you want to retain your existing scheduler database, open
migrate_old_quartz_data_postgresql.sqlin a text editor.Update the migration script as needed for your user, password, database, and other values.
Run the migration script:
<your pentaho directory>/pentaho-server/data/postgresql/migrate_old_quartz_data_postgresql.sql
The original Quartz scheduler database is migrated to the new Quartz database.
Note: The original QRTZ5_ data is retained.
You can delete it after you confirm the migration completed successfully.
Note: You unpacked the Pentaho Operations Mart SQL file while preparing your environment for archive installation.
Step 3: Verify PostgreSQL initialization
Note: Unless you changed it in Step 1, the default password for each username is password.
After you run the scripts, verify the databases and user roles were created correctly:
Open pgAdminIII or a similar client tool.
Log in as
hibuser.Verify that you can see the tables under hibernate.
If you installed Pentaho Operations Mart, verify that you can see the tables under pentaho_operations_mart.
Log in as
jcr_user.Verify that you can see the tables under jackrabbit.
The Jackrabbit tables might not appear until you start Pentaho for the first time.
Log in as
pentaho_user.Verify that you can see the tables under quartz.
Exit from the tool.
You have initialized the PostgreSQL Pentaho Repository database.
Configure the PostgreSQL Pentaho Repository database
After you initialize your repository database, configure Quartz, Hibernate, Jackrabbit, and Pentaho Operations Mart for PostgreSQL.
Note: PostgreSQL is configured by default.
If you kept the default passwords and port, you can skip to Perform Tomcat-specific connection tasks.
By default, the examples in this section use a PostgreSQL database running on port 5432 with the default password.
CAUTION:
If you use a different port or password, update the examples to match.
Step 1: Set up Quartz on PostgreSQL
Event information, such as scheduled reports, is stored in the Quartz JobStore.
During installation, specify where the JobStore is located by modifying quartz.properties.
Open
pentaho/server/pentaho-server/pentaho-solutions/system/scheduler-plugin/quartz/quartz.propertiesin a text editor.In the
#_replace_jobstore_propertiessection, setorg.quartz.jobStore.driverDelegateClass:Save and close the file.
Step 2: Set Hibernate settings for PostgreSQL
Modify the Hibernate settings file to specify where Pentaho should find the Pentaho Repository’s Hibernate configuration file.
The Hibernate configuration file specifies driver and connection information, dialects, and connection close and timeout behavior.
Note: Pentaho Server also stores audit logs in the Hibernate database.
The files in this section are located in pentaho/server/pentaho-server/pentaho-solutions/system/hibernate.
Open
hibernate-settings.xmlin a text editor.Find the
<config-file>tags and confirm this value is set for PostgreSQL:Save and close the file if you made changes.
Step 3: Modify Jackrabbit repository information for PostgreSQL
Edit repository.xml to use PostgreSQL for the default Jackrabbit repository.
Go to
pentaho/server/pentaho-server/pentaho-solutions/system/jackrabbit.Open
repository.xmlin a text editor.Ensure the PostgreSQL lines are not commented out.
Ensure the MySQL, Oracle, and MS SQL Server lines are commented out.
Item
Code Section
Repository
DataStore
Workspaces
PersistenceManager (1st part)
Versioning
PersistenceManager (2nd part)
DatabaseJournal
Perform Tomcat-specific connection tasks
After you configure the repository, configure your web application servers to connect to it.
In this step, you make JDBC and JNDI connections to the Hibernate, Jackrabbit, and Quartz components.
Note: By default, Pentaho Server is configured to run on Tomcat.
Connections are already specified.
Modify Tomcat context.xml only if you changed the default ports or passwords.
Step 1: Download driver and apply to the Pentaho Server
To connect to a database, including the Pentaho Repository database, you must download and copy a JDBC driver to the correct locations.
Note: Due to licensing restrictions, Pentaho cannot redistribute some third-party database drivers.
You must download and install the file yourself.
Download a JDBC driver JAR from your database vendor or a third-party driver developer.
See JDBC drivers reference for supported drivers.
Copy the JDBC driver JAR to
pentaho/server/pentaho-server/tomcat/lib.If you want to keep the Pentaho sample, copy
hsqldb-2.3.2.jartopentaho-server/tomcat/lib.
Step 2: Modify JDBC connection information in the Tomcat XML file
Database connection and network information is stored in context.xml.
Modify context.xml to match your environment.
CAUTION:
If you use a different port, password, user, driver class, or host name, update the examples to match.
Consult your database documentation to determine the JDBC class name and connection string.
Go to
server/pentaho-server/tomcat/webapps/pentaho/META-INF.Open
context.xmlin a text editor.Add the following code if it does not already exist:
Update the user name, password, driver class, host name, and port values for your environment.
Comment out any resource references that refer to other databases.
Set
validationQuerytoselect 1.Save and close
context.xml.
Start your server
After you complete the archive installation steps, start the Pentaho Server.
Use these steps to install MySQL or MariaDB as the host database for the Pentaho Server in an archive installation of Pentaho.
Prerequisites
Before you prepare your Pentaho Repository, complete Step 1: Prepare your environment.
MySQL Connector/J 8.0 cannot be used when configuring Tomcat with the JDBC driver JAR.
Components
The Pentaho Repository resides on the database you installed during the environment preparation step.
It includes these components:
Jackrabbit Contains the solution repository, examples, security data, and content data from reports that you create.
Quartz Holds data related to scheduling reports and jobs.
Hibernate Holds data related to audit logging.
(Optional) Pentaho Operations Mart Reports on system usage and performance.
Initialize the repository database
To initialize MySQL or MariaDB so that it serves as the Pentaho Repository, run several SQL scripts to create the Hibernate, Quartz, Jackrabbit (JCR), and Pentaho Operations Mart components.
Use the ASCII character set when you run these scripts. Do not use UTF-8. UTF-8 can trigger string-length limits that can make scripts fail.
If your user, password, host, or port differs, update the examples to match your environment.
Pentaho 10.2.0.0 and earlier use Quartz 1.x tables with the QRTZ5_ prefix. Pentaho 10.2.0.1 and later use Quartz 2.x tables with the QRTZ6_ prefix.
When upgrading to 10.2.0.1 or later, you must create the QRTZ6_ tables by re-running the Quartz database creation step. You can then optionally migrate schedules using the provided migration script.
Back up your data before you run any SQL scripts.
Failure to complete the Quartz upgrade results in a Pentaho Server start-up error. In addition to the server error, the following exception message is generated in the catalina.log file:
Step 1: Change default passwords
For production, follow best practices and change the default passwords in the SQL script files.
If you are evaluating Pentaho, you can skip this step.
Browse to the
<your pentaho directory>/pentaho-server/data/mysqlfolder.Use a text editor to update these scripts as needed for your existing user, password, database, and other values:
create_jcr_mysql.sqlcreate_quartz_mysql.sqlcreate_repository_mysql.sqlpentaho_mart_mysql.sql
Save and close the files.
Step 2: Run SQL scripts
When upgrading from previous Pentaho versions (including 10.2.0.0 GA to 10.2.0.1 and later), you must manually initialize a new Quartz database. This creates a new Quartz library in the repository database.
If you want to keep existing Quartz schedules, migrate the old tables to the new tables.
You may need administrator permissions to run these scripts on the host OS.
Back up your data. See Back up your existing Pentaho products and install Pentaho 11.0.
If the Pentaho Server is running, stop it. See Stop and start the Pentaho Server and repository.
Make sure your MySQL or MariaDB instance is running.
Open MySQL Workbench or a MySQL/MariaDB command prompt.
Run the SQL creation scripts in this order:
<your pentaho directory>/pentaho-server/data/mysql/create_jcr_mysql.sql<your pentaho directory>/pentaho-server/data/mysql/create_quartz_mysql.sql<your pentaho directory>/pentaho-server/data/mysql/create_repository_mysql.sql<your pentaho directory>/pentaho-server/data/mysql/pentaho_mart_mysql.sql
This creates the Quartz database, the Jackrabbit and MySQL/MariaDB repositories, and Pentaho Operations Mart.
The scripts create the new Quartz scheduler tables prefixed with
QRTZ6_.Any existing
QRTZ5_tables are retained. Starting the Pentaho Server at this point results in an empty schedule.If you want to retain your existing scheduler data, open
migrate_old_quartz_data_mysql.sqlin a text editor.Update the migration script for your user, password, database, and other values. Save the file.
Run the migration script:
<your pentaho directory>/pentaho-server/data/mysql/migrate_old_quartz_data_mysql.sql
The original Quartz scheduler database is migrated to the new Quartz database.
The original QRTZ5_ data is retained. You can delete it after you confirm migration success.
You unpacked the Pentaho Operations Mart SQL file while preparing your environment for the archive installation.
Step 3: Verify MySQL or MariaDB initialization
Unless you changed it in Step 1, the default password for each username below is password.
After you run the scripts, verify the databases and user roles were created properly:
Open MySQL Workbench.
Log in as
hibuser.Under Schemas, expand hibernate > Tables.
If you installed Pentaho Operations Mart, expand pentaho_operations_mart > Tables.
Log in as
jcr_user.Under Schemas, expand jackrabbit > Tables.
The Jackrabbit tables might not appear until after you start Pentaho for the first time.
Log in as
pentaho_user.Under Schemas, expand quartz > Tables.
Exit MySQL Workbench.
You have initialized the MySQL or MariaDB Pentaho Repository database.
Configure the repository database
Now that you have initialized your repository database, configure Quartz, Hibernate, Jackrabbit, and Pentaho Operations Mart for MySQL or MariaDB.
The examples assume MySQL on port 3306 with default passwords.
If your port or password differs, update the examples to match your environment.
Step 1: Set up Quartz on MySQL or MariaDB
Quartz stores scheduler data, such as scheduled reports.
You point Pentaho at the correct JobStore by updating quartz.properties.
Open
pentaho/server/pentaho-server/pentaho-solutions/system/scheduler-plugin/quartz/quartz.properties.In
#_replace_jobstore_properties, setorg.quartz.jobStore.driverDelegateClass:
Save the file.
Step 2: Set Hibernate settings for MySQL or MariaDB
Hibernate settings point Pentaho to the correct Hibernate configuration file.
Hibernate also stores the audit logs used by Operations Mart.
Files are in pentaho/server/pentaho-server/pentaho-solutions/system/hibernate.
Open
hibernate-settings.xml.Find the
<config-file>entry. Replacepostgresql.hibernate.cfg.xmlwithmysql5.hibernate.cfg.xml:
From:
To:
Save and close the file.
(MariaDB only) Open
mysql5.hibernate.cfg.xml.Find the driver class and change it from MySQL to MariaDB:
From:
To:
Step 4: Modify Jackrabbit repository information for MySQL or MariaDB
Update Jackrabbit to use the MySQL (or MariaDB) repository.
Open
pentaho/server/pentaho-server/pentaho-solutions/system/jackrabbit/repository.xml.Uncomment the MySQL lines.
Comment out the MS SQL Server, Oracle, and PostgreSQL lines.
Verify these sections use the MySQL values.
Item
Code Section
Repository
DataStore
Workspaces
PersistenceManager (1st part)
Versioning
PersistenceManager (2nd part)
DatabaseJournal
Perform Tomcat-specific connection tasks
After your repository is configured, configure the web application server to connect to the Pentaho Repository.
In this step, you will make JDBC and JNDI connections to the Hibernate, Jackrabbit, and Quartz components.
By default, the Pentaho Server software is configured to deploy and run on Tomcat. Connections are already specified. Only update the Tomcat context.xml file if you changed default ports or passwords.
Step 1: Download driver and apply to the Pentaho Server
To connect to a database, including the Pentaho Repository database, download and copy a JDBC driver to the right locations for the Pentaho Server and the web application server.
Due to licensing restrictions, Pentaho cannot redistribute some third-party database drivers. You must download and install these files yourself.
Download a JDBC driver JAR from your database vendor or a third-party driver developer. The JDBC drivers reference lists supported drivers.
Copy the JDBC driver JAR to the
pentaho/server/pentaho-server/tomcat/libfolder.Copy the
hsqldb-2.3.2.jarfile topentaho-server/tomcat/libif you want to keep the Pentaho sample.
Step 2: Modify JDBC connection information in the Tomcat XML file
Database connection and network settings (username, password, driver class, IP address or domain name, and port numbers) for your Pentaho Repository database are stored in the context.xml file.
Update this file to match your environment.
If you have a different port, password, user, driver class, or IP address, update the examples to match your environment.
Consult your database documentation to determine the JDBC class name and the connection string for your Pentaho Repository database.
Go to
server/pentaho-server/tomcat/webapps/pentaho/META-INFand opencontext.xmlin a text editor.Add the following code if it does not already exist.
For MySQL:
For MariaDB:
Update usernames, passwords, driver classes, IP addresses (or domain names), and port numbers to match your environment.
Comment out resource references for databases you are not using.
Verify
validationQueryis set toselect 1(for example:validationQuery="select 1").Save
context.xml, then close it.
Start the Pentaho Server
After you complete the archive installation steps, start the Pentaho Server.
This section includes the steps for installing Oracle as the host database for the Pentaho Server in an archive installation of Pentaho.
Before you begin
Prerequisite
Before you prepare your Pentaho Repository, complete Step 1: Prepare your environment.
Components
The Pentaho Repository resides on the database that you installed during the environment preparation step. It consists of the following components:
Jackrabbit
Contains the solution repository, 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.
(Optional) Pentaho Operations Mart
To report on system usage and performance.
Initialize Oracle Pentaho Repository database
The sections in this topic take you through the steps to initialize the Oracle Pentaho Repository database.
To initialize Oracle so that it serves as the Pentaho Repository, you will need to run several SQL scripts to create the Hibernate, Quartz, Jackrabbit (JCR), and Pentaho Operations Mart components.
Use the ASCII character set when you run these scripts. Do not use UTF-8. UTF-8 may cause script failures due to text string length limits.
If you use different users or passwords, update the examples to match your environment.
Pentaho 10.2.0.0 and earlier use the Quartz 1.x library. Those tables use the QRTZ5_ prefix.
Pentaho 10.2.0.1 and later use Quartz 2.x. Those tables use the QRTZ6_ prefix.
If you upgrade from an earlier version to 10.2.0.1 or later, create the QRTZ6_ tables by repeating the Quartz database creation step. You can optionally migrate existing schedules with the migration script.
Back up your data before you run any scripts.
Important: Failure to complete the Quartz upgrade results in a Pentaho Server error at start-up. In addition to the server error, the following exception message is generated in the catalina.log file:
Steps
Step 1: Change default passwords
For production systems, follow best practices and change the default passwords in the SQL scripts.
Note: If you are evaluating Pentaho, you can skip this step.
Browse to the
<your pentaho directory>/pentaho-server/data/oraclefolder.Use a text editor to update the scripts as needed for your user, password, database, and other settings:
create_jcr_ora.sqlcreate_quartz_ora.sqlcreate_repository_ora.sqlpentaho_mart_oracle.sql
Save and close the files.
Step 2: Run SQL scripts
When upgrading from previous Pentaho versions, including 10.2.0.0 GA to 10.2.0.1 and later, you must manually initialize a new Quartz database. A new Quartz library is created in the repository database as a result.
Always follow best practices and back up your data before you proceed. If you want to keep existing Quartz schedules, you can migrate the existing tables to the new tables.
Note: You may need administrator permissions to run these scripts on the host OS server.
Back up your data. See Back up your existing Pentaho products and install Pentaho 11.0.
If the Pentaho Server is running, stop it.
For instructions, see Stop and start the Pentaho Server and repository.
Make sure that your Oracle instance is running.
Open a Command Prompt or terminal window that runs SQL*Plus, then run the following scripts in this order:
<your pentaho directory>/pentaho-server/data/oracle/create_jcr_ora.sql<your pentaho directory>/pentaho-server/data/oracle/create_quartz_ora.sql<your pentaho directory>/pentaho-server/data/oracle/create_repository_ora.sql<your pentaho directory>/pentaho-server/data/pentaho_mart_oracle.sql
This creates the Quartz database, Jackrabbit repository, Hibernate repository, and Pentaho Operations Mart.
The
QRTZ6_tables are created. Any existingQRTZ5_tables remain. If you start the Pentaho Server now, the schedule is empty.If you want to retain your existing schedule data, open
migrate_old_quartz_data_oracle.sqlin a text editor.Update the script for your user, password, database, and other settings, then save it.
Run the migration script:
<your pentaho directory>/pentaho-server/data/oracle/migrate_old_quartz_data_oracle.sql
Note: The original QRTZ5_ data remains available. Delete it only after you verify a successful migration.
Note: You unpacked the Pentaho Operations Mart SQL file while preparing your environment for the archive installation.
Step 3: Verify Oracle initialization
Note: Unless you changed it in Step 1, the default password for each username below is password.
After you run the scripts, verify that databases and user roles were created correctly:
Open a Terminal or Command Prompt window running SQL*Plus (or a similar client) and connect to the Oracle database.
Log in as hibuser.
Verify that you can see the tables under hibernate.
If you installed Pentaho Operations Mart, verify that you can see the tables under pentaho_operations_mart.
Log in as jcr_user.
Verify that you can see the tables under jackrabbit.
The Jackrabbit tables may not appear until you start Pentaho for the first time.
Log in as pentaho_user.
Verify that you can see the tables under quartz.
Exit the tool.
You have initialized the Oracle Pentaho Repository database.
Configure Oracle Pentaho Repository database
Now that you have initialized your repository database, you will need to configure Quartz, Hibernate, Jackrabbit, and Pentaho Operations Mart for an Oracle database.
By default, the examples in this section are for an Oracle database that runs on port 1521. The default password is also in these examples.
If you use a different port or password, update the examples to match your environment.
Step 1: Set up Quartz on Oracle
Event information, such as scheduled reports, is stored in the Quartz JobStore. During the installation process, you must indicate where the JobStore is located by modifying the quartz.properties file.
Open the
pentaho/server/pentaho-server/pentaho-solutions/system/scheduler-plugin/quartz/quartz.propertiesfile in any text editor.Locate the #_replace_jobstore_properties section and set the org.quartz.jobStore.driverDelegateClass as shown:
Save the file and close the text editor.
Step 2: Set Hibernate settings for Oracle
Modify the Hibernate settings file to specify where Pentaho should find the Pentaho Repository’s Hibernate configuration file. The Hibernate configuration file specifies driver and connection information, as well as dialects and how to handle connection closes and timeouts.
Note: The Hibernate database is also where the Pentaho Server stores the audit logs that act as source data for the Pentaho Operations Mart.
The files in this section are located in the pentaho/server/pentaho-server/pentaho-solutions/system/hibernate directory.
Perform the following steps to specify where Pentaho can find the Hibernate configuration file.
Open the
hibernate-settings.xmlfile in a text editor. Find the tags and changepostgresql.hibernate.cfg.xmltooracle10g.hibernate.cfg.xmlas shown.From:
To:
Save and close the file.
Step 3: Replace default version of audit log file with Oracle version
Since you are using Oracle to host the Pentaho Repository, you need to replace the audit_sql.xml file with one that is configured for Oracle.
Locate the
pentaho-solutions/system/dialects/oracle10g/audit_sql.xmlfile.Copy it into the
pentaho-solutions/systemdirectory.
Step 4: Modify Jackrabbit repository information for Oracle
Edit the following code to change the default Jackrabbit repository to Oracle.
Navigate to the
pentaho/server/pentaho-server/pentaho-solutions/system/jackrabbitand open therepository.xmlfile with any text editor.As shown in the table below, locate and verify or change the code so that the Oracle lines are not commented out, but the MySQL, PostgreSQL, and MS SQL Server lines are commented out.
Item
Code Section
Repository
Perform Tomcat-specific connection tasks
After your repository has been configured, you must configure the web application servers to connect to the Pentaho Repository. In this step, you will make JDBC and JNDI connections to the Hibernate, Jackrabbit, and Quartz components.
Note: By default, the Pentaho Server software is configured to be deployed and run on the Tomcat server. As such, connections have already been specified and the Tomcat context.xml file must be modified ONLY if you have changed the default ports or passwords.
Use these steps to set up the JDBC driver and update the Tomcat connection settings.
Step 1: Download driver and apply to the Pentaho Server
To connect to a database, including the Pentaho Repository database, you must download and copy a JDBC driver to the appropriate places for the Pentaho Server and the web application server.
Note: Due to licensing restrictions, Pentaho cannot redistribute some third-party database drivers. You must download and install the file yourself.
Download a JDBC Driver JAR from your database vendor or a third-party driver developer. The JDBC drivers reference has a list of supported drivers.
Copy the JDBC driver JAR you downloaded to the
pentaho/server/pentaho-server/tomcat/libfolder.Copy the
hsqldb-2.3.2.jarfile topentaho-server/tomcat/libif you want to retain the sample provided by Pentaho.
Step 2: Modify JDBC connection information in the Tomcat XML file
Database connection and network information, such as the username, password, driver class information, IP address or domain name, and port numbers for your Pentaho Repository database are stored in the context.xml file. Modify this file to reflect the database connection and network information for your operating environment.
Caution: If you have a different port, password, user, driver class information, or IP address, change the values in these examples to match your environment.
Consult your database documentation to determine the JDBC class name and the connection string for your Pentaho Repository database.
Navigate to the
server/pentaho-server/tomcat/webapps/pentaho/META-INFdirectory and open thecontext.xmlfile with any text editor.Add the following code to the file if it does not already exist. Replace
XEin the URL setting with your schema name.
Modify the username, password, driver class information, IP address (or domain name), and port numbers to match your environment.
Comment out any resource references that refer to other databases.
Verify that the
validationQueryvariable for your database is set tovalidationQuery=\"select 1 from dual\".Save the
context.xmlfile, then close it.
Start your server
After you complete the archive installation steps, start the Pentaho Server.
This section includes the steps for using MS SQL Server as the host database for the Pentaho Server in an archive installation.
Before you begin
Prerequisites
Before you prepare your Pentaho Repository, complete Step 1: Prepare your environment.
Components
The Pentaho Repository resides on the database you installed during environment preparation.
It consists of these components:
Jackrabbit Contains the solution repository, examples, security data, and report content data.
Quartz Holds data related to scheduling reports and jobs.
Hibernate Holds data related to audit logging.
(Optional) Pentaho Operations Mart Reports on system usage and performance.
Initialize MS SQL Server Pentaho Repository database
To initialize MS SQL Server so it serves as the Pentaho Repository, run SQL scripts to create the Hibernate, Quartz, Jackrabbit (JCR), and Pentaho Operations Mart components.
CAUTION: Use the ASCII character set when you run these scripts. Do not use UTF-8. Text string length limitations can cause the scripts to fail.
CAUTION: If you have a different password or user, update the examples to match your configuration.
CAUTION: Pentaho 10.2.0.0 and earlier use the Quartz 1.x library, which uses a QRTZ5_ prefix in the database. Pentaho 10.2.0.1 and later use Quartz 2.x, which uses a QRTZ6_ prefix. When you upgrade from an earlier version, create the QRTZ6_ tables by repeating the Quartz database creation step. You can optionally migrate schedules with the migration script. Always back up your data before you proceed.
Important: If you do not complete the Quartz upgrade, Pentaho Server fails at startup. You will see a “Missing Quartz library database error” exception in catalina.log.
Step 1: Adjust MS SQL Server configuration settings
Configure these MS SQL Server settings in Microsoft SQL Server Management Studio (or a similar tool).
Select SQL Server and Windows Authentication Mode to use mixed authentication.
Enable TCP/IP for MS SQL Server.
Make sure MS SQL Server listens on an external IP, not localhost.
Step 2: Change default passwords
For production, follow best practices to change the default passwords in the SQL scripts.
Note: If you are evaluating Pentaho, you may want to skip this step.
Browse to the
<your pentaho directory>/pentaho-server/data/sqlserverfolder.Modify these create scripts as needed for your existing setup (user, password, database, and other required information):
create_jcr_sqlServer.sqlcreate_quartz_sqlServer.sqlcreate_repository_sqlServer.sqlpentaho_mart_sqlserver.sql
Save and close the files.
Step 3: Run SQL scripts
When upgrading from previous Pentaho versions (including 10.2.0.0 GA to 10.2.0.1 and later), manually initialize a new Quartz database. This creates a new Quartz library in the repository database. Back up your data before you proceed.
Run the SQL creation scripts.
Note: You may need administrator permissions to run these scripts on the host OS server.
Back up your data. See Back up your existing Pentaho products and install Pentaho 11.0.
If the Pentaho Server is running, stop it. For instructions, see Stop and start the Pentaho Server and repository.
Make sure your MS SQL Server instance is running.
Open a
sqlcmdutility window, or run these scripts from Microsoft SQL Server Management Studio, in this order:<your pentaho directory>/pentaho-server/data/sqlserver/create_jcr_sqlServer.sql<your pentaho directory>/pentaho-server/data/sqlserver/create_quartz_sqlServer.sql<your pentaho directory>/pentaho-server/data/sqlserver/create_repository_sqlServer.sql<your pentaho directory>/pentaho-server/data/sqlserver/pentaho_mart_sqlserver.sql
The Quartz database, Jackrabbit and MS SQL Server repositories, and Pentaho Operations Mart are created. The new Quartz scheduler table prefixed with
QRTZ6_is created. Any existingQRTZ5_scheduler database is retained. Starting the Pentaho Server at this point results in an empty schedule.If you want to retain your existing scheduler database, open the
migrate_old_quartz_data_sqlserver.sqlfile.Modify the migration script as needed for your existing setup (user, password, database, and other required information), then save it.
Run the migration script:
<your pentaho directory>/pentaho-server/data/sqlserver/migrate_old_quartz_data_sqlserver.sql
The original Quartz scheduler database is migrated to the new Quartz database.
Note: The original QRTZ5_ data is retained. You can delete it after you confirm migration is successful.
Note: You unpacked the Pentaho Operations Mart SQL file while preparing your environment.
Step 4: Verify MS SQL Server initialization
Note: Unless you changed it in Step 1, the default password for each username below is password.
After you run the scripts, verify that the databases and user roles were created properly:
Open MS SQL Server Management Studio.
Log in as
hibuser.In Object Explorer, navigate to
hibernateand verify that you can see the tables.If you installed Pentaho Operations Mart, log in as
pentaho_operations_mart.In Object Explorer, navigate to
pentaho_operations_martand verify that you can see the tables.Log in as
jcr_user.In Object Explorer, navigate to
jackrabbitand verify that you can see the tables. The Jackrabbit tables may not appear until you start Pentaho for the first time.Log in as
pentaho_user.In Object Explorer, navigate to
quartzand verify that you can see the tables.Exit MS SQL Server Management Studio.
Configure MS SQL Server Pentaho Repository database
After you initialize your repository database, configure Quartz, Hibernate, Jackrabbit, and Pentaho Operations Mart for an MS SQL Server database.
By default, the examples in this section assume MS SQL Server running on port 1433. They also use the default password.
CAUTION: If you use a different port or password, update the examples to match your configuration.
Step 1: Set up Quartz on MS SQL Server
Event information, such as scheduled reports, is stored in the Quartz JobStore. During installation, indicate where the JobStore is located by modifying quartz.properties.
Open
pentaho/server/pentaho-server/pentaho-solutions/system/scheduler-plugin/quartz/quartz.properties.In the
#_replace_jobstore_propertiessection, setorg.quartz.jobStore.driverDelegateClass:
Save the file.
Step 2: Set Hibernate settings for MS SQL Server
Modify the Hibernate settings file to specify where Pentaho should find the Pentaho Repository Hibernate configuration file.
Note: The Hibernate database is also where Pentaho Server stores the audit logs used as source data for Pentaho Operations Mart.
The files in this section are located in pentaho/server/pentaho-server/pentaho-solutions/system/hibernate.
Open
hibernate-settings.xml.Find the
<config-file>tags. Changepostgresql.hibernate.cfg.xmltosqlserver.hibernate.cfg.xml.From:
To:
Save and close the file.
Step 3: Replace default version of audit log file with MS SQL Server version
Since you are using MS SQL Server to host the Pentaho Repository, replace audit_sql.xml with the MS SQL Server version.
Locate
pentaho-solutions/system/dialects/sqlserver/audit_sql.xml.Copy it into the
pentaho-solutions/systemdirectory.
Step 4: Modify Jackrabbit repository information for MS SQL Server
Edit repository.xml to change the default Jackrabbit repository to MS SQL Server.
Navigate to
pentaho/server/pentaho-server/pentaho-solutions/system/jackrabbit.Open
repository.xml.Locate and verify or change the configuration so that the MS SQL Server lines are uncommented, and the MySQL, Oracle, and PostgreSQL lines are commented out.
Item
Code Section
Repository
Perform Tomcat-specific connection tasks
After your repository is configured, configure your web application server to connect to the Pentaho Repository.
In this step, you make JDBC and JNDI connections to the Hibernate, Jackrabbit, and Quartz components.
Note: By default, Pentaho Server is configured to be deployed and run on Tomcat. Connections are already specified. Modify Tomcat context.xml only if you changed the default ports or passwords.
Step 1: Download driver and apply to the Pentaho Server
To connect to a database (including the Pentaho Repository database), download and copy a JDBC driver to the Pentaho Server and the web application server.
Note: Due to licensing restrictions, Pentaho cannot redistribute some third-party database drivers. You must download and install the file yourself.
Download a JDBC driver
.jarfrom your database vendor or a third-party driver developer. See JDBC drivers reference.Copy the JDBC driver
.jartopentaho/server/pentaho-server/tomcat/lib.Copy
hsqldb-2.3.2.jartopentaho-server/tomcat/libif you want to retain the Pentaho sample data.
Step 2: Modify JDBC connection information in the Tomcat XML file
Database connection and network information (such as user name, password, driver class, host, and port) is stored in context.xml. Modify it to match your environment.
CAUTION: If you use a different user name, password, or port, update the examples to match your environment.
Consult your database documentation to determine the JDBC class name and connection string for your Pentaho Repository database.
Navigate to
server/pentaho-server/tomcat/webapps/pentaho/META-INF.Open
context.xml.Add the following resources if they do not already exist:
Note: Depending on your MS SQL Server configuration, you may be able to set trustServerCertificate=true. See Connecting with encryption.
Modify user names, passwords, driver class information, host, and port to match your environment.
Comment out any resource references that refer to other databases.
Verify your database validation query is set to
validationQuery=\"select 1\".Save and close
context.xml.
Start your server
After you complete the archive installation steps, start the Pentaho Server.
Step 3: Start Pentaho Server and install licenses
The Pentaho Server is located on the Pentaho-provided Tomcat web application server.
The way you start the Pentaho Server depends on your operating system.
Navigate to the
<your pentaho directory>/server/pentaho-serverfolder.Run the startup script for your operating system:
Windows:
start-pentaho.batLinux:
start-pentaho.sh
The Tomcat web application server and the Pentaho Server start.
From a workstation, open a web browser and enter
http://localhost:8080/pentahoin the address bar.If your server has a different hostname or port, replace
localhostor8080.Enter your user name and password, then select Login.
The Pentaho User Console (PUC) opens.
Upon first login after installation, enter a license server code or individual license keys.
See the Administer Pentaho Data Integration and Analytics document for license setup and optional Operations Mart logging.
If you have problems starting the Pentaho Server, see Troubleshooting possible installation and upgrade issues.
Install client tools
After you install and start the Pentaho Server, install the Pentaho client tools on separate workstations.
After you install the server and client tools, configure access, licenses, and data sources.
Last updated
Was this helpful?

