Skip to main content
Hitachi Vantara Lumada and Pentaho Documentation

Pentaho Upgrade

This guide describes how to upgrade the Pentaho Server from the archive installation of Pentaho version 7.0, 7.1, or 8.0 to Pentaho 8.1.

  • If you are currently using Pentaho 6.1.x with a BA Server and/or DI Server, use the Upgrade from 6.1.x to 8.1 upgrade instructions.

This upgrade documentation assumes that you are upgrading to 8.1 on the same server as your current archive installation.

Get Started with the 8.1 Upgrade

To perform this upgrade process, you need to know how to access the Pentaho Server as an Administrator from a command line. You must also perform the following prerequisites:

  1. Verify your current version of the Pentaho Suite and PDI. Start with a working installation of Pentaho Server 7.0, 7.1 or 8.0.
  2. Verify that your system components are current. Ensure that your system components, such as web browsers or repository databases, are up-to-date for Pentaho.
  3. Create backups of all the following Pentaho databases:
    • hibernate
    • quartz
    • jackrabbit
  4. For Linux installations only, verify Info-ZIP has been installed and configured. If needed, you can download, install, and configure Info-ZIP open source compression utility using the Info-ZIP documentation. Info-ZIP is available at  http://www.info‐zip.org/. A BSD-style license is provided and used for most Linux and Unix variants. A Windows version of Info-ZIP is pre-configured and included in the Pentaho update package.
  5. Verify no users are logged into the server. The upgrade process should be performed during off-business hours to minimize impact to your day-to-day operations.

We recommended you review the following 7.1, 8.0, and 8.1 updates to understand how our products have changed since 7.0:

Get the Pentaho Upgrade and Utility Files

The upgrade process involves utility and installation files you must download from the Pentaho Customer Support Portal.

Perform the following steps to download these files:

  1. On the Customer Portal home page, sign in using the Pentaho support user name and password provided in your Pentaho Welcome Packet.
  2. Click Downloads, then click Pentaho 8.1 GA Release in the 8.x list.
  3. On the bottom of the Pentaho 8.1 GA Release page, browse the folders in the Box widget to find the files you need, including the pentaho-server-ee-upgrade-8.1.x.yy file in the Utilities and Tools folder.

Available Update Files

The following files are required to perform a complete Pentaho 8.1 update:

Component File Name

Pentaho Server Upgrade Utility

pentaho-server-ee-upgrade-8.1.x.yy

Pentaho Server Installation pentaho-server-ee-8.1.x.yy-dist
DI Client pdi-ee-client-8.1.x.yy-dist
Pentaho Analyzer paz‐plugin‐ee‐8.1.x.yy-dist
Pentaho Dashboard Designer pdd‐plugin‐ee‐8.1.x.yy-dist
Pentaho Interactive Reporting pir‐plugin‐ee‐8.1.x.yy-dist
Report Designer prd‐ee‐8.1.x.yy-dist
Metadata Editor pme‐ee‐8.1.x.yy-dist
Schema Workbench psw‐ee‐8.1.x.yy-dist
Aggregation Designer pad‐ee‐8.1.x.yy-dist
License Files Pentaho [component] Enterprise Edition.lic

Unzip the Downloaded Files

Perform the following steps to unzip the downloaded files:

  1. If needed, move the downloaded files to a temporary location on your current server.
  2. Unzip each downloaded file.

You are now prepared to begin your 7.x or 8.0 to 8.1 upgrade.

Upgrade the Pentaho Server

The following steps will guide you through the 8.1 Pentaho Server upgrade process:

  1. Backup Your Pentaho Server Configuration and Solutions Files
  2. Install the 8.1 Pentaho Server
  3. Restore Your Server Configuration and Solutions Files
  4. Review Previous Version Upgrades and Customizations
  5. Start and Test Your Pentaho Server

This process assumes you have completed an archive installation of the 7.0, 7.1, or 8.0 Pentaho Server and are upgrading to version 8.1.

Step 1: Backup Your Pentaho Server Configuration and Solutions Files

The backup utility copies your Pentaho configuration and solutions files, then stores the created .zip files in your user's home directory.

Complete the following steps to back up your configuration and solutions files:

  1. Stop the Pentaho Server.
  2. Open a command line terminal and navigate to the unzipped directory of the pentaho-server-ee-upgrade.
  3. At the prompt, run the correct PentahoServerConfigAndSolutionsBackup utility for your operating system as shown in the following examples:
    Windows
    PentahoServerConfigAndSolutionsBackup.bat "<path to your 7.x or 8.0 pentaho server>"
    
    Linux
    ./PentahoServerConfigAndSolutionsBackup.sh <path to your 7.x or 8.0 pentaho server>
    

    The backup utility has the following optional parameters:
    • pentaho_solutions_folder – use to specify the path to the pentaho-solutions directory if you manually installed it outside of the main pentaho directory structure.
    • pentaho_version – use to specify your Pentaho Server version if a valid version cannot be automatically found during the backup process.

When the backup utility finishes, you can install a new instance of the Pentaho 8.1 software.

Step 2: Install the 8.1 Pentaho Server and Plugins

After completing Step 1, you are ready to install the 8.1 Pentaho Server and related plugins.

Make sure to install the new instance of Pentaho on the same server yet leave your Pentaho 7.x or 8.0 instance "as is" while unpacking Pentaho 8.1 into a new directory.

Pentaho Server Installation

Perform the following steps to install the 8.1 version of the Pentaho Server:

  1. Verify Java 8 is installed on the server machine. If you need to install Java 8, you can download the supported version of JRE or JDK from the Oracle site.
  2. Verify the PENTAHO_JAVA_HOME environment variable is set to the path of your Java installation. If you need to set this variable, use the SET command in Windows or the export command in Linux. If you are using a JRE, verify the JRE_HOME environment variable is also set to the correct location.
  3. Browse to the location where you unzipped the pentaho-server-ee-8.1.x.yy-dist file in the Available Update Files section.
  4. Execute the supplied install.bat or install.sh file.
  5. Agree to the end-user license agreement.
  6. Select the pentaho/server/pentaho-server directory as the location to store the extracted files.

Plugin Installation

The following -dist files mentioned in the Available Update Files section pertain to the Analyzer, Interactive Reports, and Dashboard Designer plugins:

  • paz‐plugin‐ee‐8.1.x.yy-dist
  • pdd‐plugin‐ee‐8.1.x.yy-dist
  • pir‐plugin‐ee‐8.1.x.yy-dist

If you use any of these plugins, browse to the location where you unzipped these distributions and perform the following steps for each file:

  1. Execute the supplied install.bat or install.sh file.
  2. Agree to the end-user license agreement.
  3. Select the pentaho/server/pentaho-server/pentaho-solutions/system directory as the location to store the extracted files.

Step 3: Restore Your Server Configuration and Solutions Files

After you have unpacked your Pentaho 8.1 bundle, restore your Pentaho files to your 8.1 instance with the restore utility.

Perform the following steps to apply the PentahoServerConfigAndSolutionsRestore utility:

  1. Delete the content in the Pentaho Server 8.1 pentaho-solutions/system/default-content directory.
  2. Open a command line terminal and navigate to the unzipped directory of the pentaho-server-ee-upgrade.
  3. In the prompt, run the PentahoServerConfigAndSolutionsRestore utility to restore your data from the .zip files located in your user home directory as shown in the following examples:
    Windows
    PentahoServerConfigAndSolutionsRestore.bat "<path to 8.1 pentaho server>"
    
    Linux
    ./PentahoServerConfigAndSolutionsRestore.sh <path to 8.1 pentaho server>
    

    If the directory path you specify is not within the main directory structure, use an optional pentaho_solutions_folder parameter to specify its location.

Step 4: Review Previous Version Upgrades and Customizations

This section includes version specific and configuration changes that should be reviewed.

Version 7.0 Specific Upgrade

If you are upgrading specifically from 7.0, you must perform the following configuration changes in order to complete the upgrade process. Note that these properties already exist in version 7.1 and later.

Update the Spring Security XML File

Perform the following steps to add the authenticationEventPublisher property to the applicationContext-spring-security.xml file:

  1. Navigate to the pentaho-solutions/system/applicationContext-spring-security.xml file and open it with any text editor.
  2. Locate the section that contains the following lines:
    <bean id="authenticationManager" ...>
    ...
    </bean>
  3. Add the following property within the authenticationManager bean:
    <property name="authenticationEventPublisher">
        <bean class="org.springframework.security.authentication.DefaultAuthenticationEventPublisher" />
    </property>
  4. Save and close the file.
Configure the VizAPI Selector

Perform the following steps to add a proxy trusting filter and a property selector to the vizAPI version used by Analyzer: 

  1. Navigate to the pentaho-server/tomcat/webapps/pentaho/WEB-INF directory and open the web.xml file with any text editor.
  2. Locate the <!-- insert additional filters --> block and then include i18n as a proxy trusting filter by adding these lines:
<filter-mapping>
    <filter-name>Proxy Trusting Filter</filter-name>
    <url-pattern>/i18n</url-pattern>
</filter-mapping>
  1. Save and close the file.
  2. Navigate to the pentaho-server/pentaho-solutions/system/analyzer directory and open the settings.xml file.
  3. Within the settings block, add this viz-api-version property and comment:
    <!-- To use the current vizAPI set the value of this property to `2.0`; to enable the beta vizAPI, along with the upgraded visualizations, set the value to `3.0`. To use the current vizAPI set the value of this property to `2.0`; Note: Reports saved with vizAPI v3.0 stock visualizations won't render if v2.0 vizAPI is selected, and will fallback to the Pivot Table. -->
  <viz-api-version>2.0</viz-api-version>
  1.  Save and close the file.

Version 7.x Upgrade

If you are upgrading from Pentaho version 7.x, perform the following steps:

  1. Update the context.xml file according to your Pentaho Server or DI Server version.
  2. Ensure the database connection information in the jackrabbit/repository.xml file is properly carried over from the 7.x version of this file to the 8.1 version. If the 8.1 version differs from 7.x or 8.0, you must match these files manually.
  3. Update the path to the pentaho.log file in the tomcat/webapps/pentaho/WEB-INF/classes/log4j.xml file.

  4. Remove the following directories and their contents. These plugins are not available in version 8.1.
    Plugin Path
    Mobile pentaho/server/pentaho-server/pentaho-solutions/system/pentaho-mobile-plugin
    Sparkl pentaho/server/pentaho-server/pentaho-solutions/system/sparkl
    client-config-folder-enabler pentaho/server/pentaho-server/pentaho-solutions/system

Update the context.xml file for your Pentaho Server or DI server

Because of version changes for the Tomcat web application server, apply the following connection pool parameter changes to the META-INF context.xml file for the resource connections to the Pentaho Server or DI server. Depending upon the version of Pentaho Server or DI server you are upgrading, you must modify this file to reflect the database connection and network setting information for each of your resource connection types.

Updating the context.xml file for Version 7.x Servers

Perform the following steps to update the connection pool parameters when upgrading 7.x version Pentaho Servers or DI servers:

  1. Navigate to the pentaho/pentaho-server/tomcat/webapps/pentaho/META-INF directory and open the context.xml file with any file editor.

  2. Locate the resource connection type for your database, for example PostgreSQL.

<Resource name="jdbc/Hibernate" auth="Container" type="javax.sql.DataSource"
            factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" maxActive="20" minIdle="0" maxIdle="5" initialSize="0"
            maxWait="10000" username="hibuser" password="password"
            driverClassName="org.postgresql.Driver" url="jdbc:postgresql://localhost:5432/hibernate"
            validationQuery="select 1"/>
  1. Perform the applicable action for each parameter listed in the table below.  
Parameter Action Description
factory

Change the value to  org.apache.tomcat.jdbc.pool.DataSourceFactory

Implements the service provider and will ensure that the Pentaho Server can connect to the repository.
maxTotal Delete the parameter and its value. Permits any number of database connections in the pool.
maxActive Add the parameter and set the value to 20. Sets the maximum number of connections that can be allocated simultaneously from the pool.
minIdle Add the parameter and set the value to 0. Sets the minimum number of connections that can simultaneously sit idle in the pool.
initialSize Add the parameter and set the value to 0. Sets the initial number of pool connections that will be created during pool initialization.
maxTotal Rename the parameter maxWait (the value should remain 10000). Sets the maximum time (in milliseconds) to wait for a database connection to become available.
  1. Save the context.xml file, then close it.

The connection pool parameters for the resource have been updated.

Updating the context.xml file for Version 8.0 Servers

Perform the following steps to update the connection pool parameters when upgrading 8.0 version Pentaho Servers or DI servers:

  1. Navigate to the pentaho/pentaho-server/tomcat/webapps/pentaho/META-INF directory and open the context.xml file with any file editor.
  2. Locate on the resource connection type for your database, for example PostgreSQL:
<Resource name="jdbc/Hibernate" auth="Container" type="javax.sql.DataSource"
            factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" maxActive="20" minIdle="0" maxIdle="5" initialSize="0"
            maxWait="10000" username="hibuser" password="password"
            driverClassName="org.postgresql.Driver" url="jdbc:postgresql://localhost:5432/hibernate"
            validationQuery="select 1" jdbcInterceptors="ConnectionState" defaultAutoCommit="true"/>
  1. Perform the applicable action for each parameter listed in the table below.  
Parameter Action Description
jdbcInterceptors Add the parameter and set the value to ConnectionState. Caches the connection to enhance performance by avoiding roundtrips to the database for set or get calls for any already retrieved values.

defaultAutoCommit

Add the parameter and set the value to true. Sets the default auto-commit state of the connections created by the pool.
  1. Save the context.xml file, then close it.

The connection pool parameters for the resource have been updated.

Karaf Customizations

The Pentaho Server installs all the Karaf features upon installation. The system waits for these features to be installed before timing out. The default is to wait two minutes before timing out. If you modified any Karaf feature, you should consider changing the Karaf startup timeout setting.

Password Encoding

Pentaho version 8.0 changed the password encoding from previous versions.

If you are using your own password encoding or you previously applied this version of encoding, this update is not necessary.

If you wish to use this version of password encoding, perform the following steps:

  1. Navigate to the pentaho/server/pentaho-server/pentaho-solutions/system directory and open the pentahoObjects.spring.xml file with any text editor.
  2. Locate the line that contains: bean id="IPasswordService"
  3. Verify or modify the class= value with the following value:
    bean id="IPasswordService" class="org.pentaho.platform.util.KettlePasswordService" scope="singleton"/>
  1. Save and close the file.
  2. If you modified the class= value in Step 3, you must make the following modification to encrypt the Pentaho Admin password. In the same pentaho/server/pentaho-server/pentaho-solutions/system directory, open the defaultUser.spring.properties file with any text editor.
  3. Locate the following lines:
    defaultAdminUserPassword=cGFzc3dvcmQ=
    defaultNonAdminUserPassword=cGFzc3dvcmQ=
  4. Replace the values in these lines with the following values:
    defaultAdminUserPassword=Encrypted 2be98afc86aa7f2e4bb18bd63c99dbdde
    defaultNonAdminUserPassword=Encrypted 2be98afc86aa7f2e4bb18bd63c99dbdde
  5. Save and close the file.

Documentation Version Link

The default URL of the online Pentaho documentation changes with each release. When upgrading, this URL parameter may need to be updated in the pentaho.xml file.

  1. Navigate to the pentaho/server/pentaho-server/pentaho-solutions/system directory and open the pentaho.xml file with any text editor.
  2. Modify the following <documentation-url> line and replace the previous documentation value with the current documentation value:
    <documentation-url>https://help.pentaho.com/Documentation/8.1/Products/User_Console</documentation-url>
  3. Save and close the file.

CORS (Embedding CTools)

If your Pentaho deployment requires the ability to embed CTools, you can modify the following settings.

  1. Navigate to the pentaho/server/pentaho-server/pentaho-solutions/system directory and open the pentaho.xml file with any text editor.
  2. Modify or add the following CORS lines:
    <!--
    cors-requests-allowed:
    Flag indicating if cross-origin requests are allowed or not.
    accepted values are: true | false
    -->
    
    
    <cors-requests-allowed>false</cors-requests-allowed>
    
    
    <!--
    cors-requests-allowed-domains:
    Comma separated list of domains allowed to do cross-origin requests to the server.
    Example:
    http://domainA.com, http://localhost:1337
    -->
    
    
    <cors-requests-allowed-domains><!-- allowed domains here --></cors-requests-allowed-domains>
  3. If you are embedding CTools, add the following line (as shown above) and set the value to: true
    <cors-requests-allowed>true</cors-requests-allowed>
  4. Save and close the file.

Previously Customized Files

If you have previously customized any of the following items, verify your customizations have been merged:

  • server.xml
  • startup and shutdown scripts
  • system listeners
  • security configuration files

If your previous customizations have not been merged, incorporate them into their 8.1 files.

Step 5: Start and Test the Pentaho Server

You are now ready to Start your 8.1 Pentaho Server.

Do not pause or stop the initial starting of the server.

Test Your Server

You can use the following actions to ensure your content has been restored to the 8.1 Pentaho Server:

  1. Clear your web browser cache and history.
  2. Navigate to your Pentaho URL (the default URL is http://localhost:8080/pentaho) and ensure the login screen appears.
  3. Log on to PUC and try to run your old BA content.
  4. Verify your schedules exist and are working properly.
  5. Ensure your Pentaho plugins are installed and functional by performing the following tasks:
    • Open a report that requires no user prompts or parameters.
    • Create a test report for Interactive Reporting and a test report for Analyzer.
    • Open a dashboard in Dashboard Designer.
  6. Check your application server log.

If you have upgraded to 8.1 from an earlier DI Server, navigate to your Pentaho DI URL (the default URL is http://localhost:9080/pentaho-di) and verify the following items:

  • Log on and try to access the kettle/status page.
  • Check your Catalina and Pentaho logs in the server/pentaho-server/tomcat/logs directory for any errors.

For troubleshooting issues, refer to the Installation and Upgrade Issues article.

Update Your Design Tools

After completing the server upgrade to 8.1, perform the following steps to upgrade your Pentaho design tools on your workstations.

  1. Exit any of the design tools, if any are currently running.
  2. Backup and rename all the 7.x or 8.0 existing directories in a separate, temporary directory.
  3. Browse to the location where you downloaded the following -dist files in the Available Update Files section:
  • pdi-ee-client-8.1.x.yy-dist
  • prd-ee-8.1.x.yy-dist
  • pme-ee-8.1.x.yy-dist
  • psw-ee-8.1.x.yy-dist
  • pad-ee-8.1.x.yy-dist
  1. If you have not already done so, unzip all the new design tools directories and install them into a pentaho/design-tools directory.
  2. Start your new design tools to verify they were upgraded to 8.1.
  3. Test the functionality of the design tools.

You have now completed your Pentaho upgrade from 7.x or 8.0 to 8.1.

For Customers Using Analyzer

Analyzer can be upgraded from Visualization API 2.0 to Visualization API 3.0 . Before upgrading, please review the following information for more details: http://pentaho.github.io/pentaho-platform-plugin-common-ui/platform/visual/analyzer-viz-api.

For Customers Using DI Ops Mart

If you installed DI Ops Mart in 8.0, you do not have to reinstall. If you are interested in installing and using DI Ops Mart, see Install DI Ops Mart.