Setting up a Pentaho server as a Windows service


1. Download the 64-bit version of Apache Tomcat that matches the Apache Tomcat version that was bundled with the PDI Server


  1. In the downloaded Tomcat zip file, copy the tomcat\bin\tomcat6.exe and tomcat\bin\tomcat6w.exe into the data-integration-server\tomcat\bin directory. Overwrite the existing files (Pentaho 6.1 is using Tomcat8 so tomcat8.exe and tomcat8w.exe)
  2. Start an Administrator Command Prompt, and navigate to the same data-integration-server\tomcat\bin directory.
  3. Run the following commands:
    • service.bat install PentahoDIServer

This will install the service, but we still need to configure it.


That warning about the jvm.dll means we might have to find it ourselves.  But first we’ll get the service interface ready.

5. Run this in the cmd window

copy tomcat8w.exe PentahoDIServer.exe

(or tomcat6w depending on your version).  Note that this is the same name as the service we just installed

Then, still in the cmd window, run


and the service manager pops up

6. Configure the service


Change the display name/description to your taste (this is what you will see in the Windows services console).

Change the startup type to ‘Automatic’

The next tab allows you to set the user that the service will be executed under.  The default is OK for now


The next tab (Logging) has the logging settings (including STDIN and STDOUT) Default is OK here, though you can redirect if you choose.


The next tab has the java settings.  And look! It found where the jvm.dll is.  If it hadn’t, we could have set it manually


We needed to add the following Java option  for both BA and PDI services

-Dpentaho.installed.licenses.file=E:\Program Files\pentaho\installed_licence\.installedLicenses.xml

(The exact path will probably differ on your server)

And these ones for the PDI server



The KETTLE_HOME variable is the drive & directory that your .kettle directory lives in.  In this case it is E:\.kettle, so KETTLE_HOME is just E:\

Pentaho's recommended defaults are initial memory pool 4G and maximum memory pool 6G, the exact amount will (of course) depend on the amount of RAM available on your server.  To use more than 24G RAM, please contact your friendly Pentaho Specialist for configuration information.

NB:  If the Database Server that houses the Pentaho Repository is stored on the local system, ensure that it is also running as a Windows Service, so that the Pentaho server can connect to the repository when it starts up

Restart the Windows Server. Confirm that the DI Server starts successfully

Repeat the process for the BA server (except call the service PentahoBAServer instead)

Get In Touch

Recent Posts