Install Pentaho 4.5 CE as service on Windows 7 x64

Pentaho is an open source Business Intelligence suite. I installed the server according to these very informative posts and had been working with the server with bundled script to start and stop.

I tried to install service and the service simply cannot run though successfully installed. (Bundled Pentaho 4.5 only includes Tomcat 6 32-bit. It can be started with bundled start-pentaho.bat and it can be installed as service using bundled service.bat)

After so many searches, trials and errors, I have successfully installed the Pentaho 4.5 as service on my Windows 7 64 bit. The following content describes how did I do it.

Content

  • Some information
  • Install JDK and configure
  • Replace tomcat 6
  • Install and configure service
  • Q&A
  • Sources

Some information

  • OS: Windows 7 64 bits Professional edition
  • CPU: Core i7 2.8GHz
  • RAM: 8GB
  • Pentaho 4.5 BI server (Community Edition) already installed
  • Saiku analysis and reporting plugins installed
  • configured to use MySQL with c3p0 pooling
  • MySQL 5.5 32bit bundled in XAMPP

Please see Interesting IT Tip’s Pentaho installation guide for detail installation and configuration of Pentaho

Install JDK and configure

  1. Download and install JDK 1.6 64-bit from Oracle
  2. Set JAVA_HOME and JRE_HOME environment variable
    1. download RapidEE (a utility for easy editing environment variable)
    2. extract and run it
    3. add JAVA_HOME variable with path to JDK e.g. D:\java\jdk1.6.0_37\
    4. add JRE_HOME variable with path to JRE e.g. D:\java\jre6
    5. (optional) if you add to System Variables you need to restart the system

Replace tomcat 6

  1. Determine bundled tomcat version by running catalina.bat version
    1. enter command prompt
    2. navigate to <pentaho path>\biserver-ce\tomcat\bin\
    3. run catalina.bat version
    4. note the version number (my pentaho 4.5 has Tomcat 6.0.29)
  2. Download 64bit Tomcat6 of the same version
    1. go to Tomcat website
    2. download the same version with 64bit architecture
  3. Replace tomcat6.exe, tomcat62.exe and tcnative-1.dll (optional)
    1. goto <pentaho path>\biserver-ce\tomcat\bin\
    2. backup existing tomcat6.exe, tomcat62.exe and tcnative-1.dll
    3. extract the above three file from Tomcat6 64bit file

Install service and configure

  1. Install service by
    1. go to <pentaho path>\biserver-ce\tomcat\bin
    2. run service.bat install (this will install Tomcat6 service with default options)
  2. Modify the java options of the service by
    1. running tomcat6w.exe //ES//Tomcat6 (this will show you a dialogue box)
    2. goto java tab
    3. fill the Java Options: with the following
       -Dcatalina.base=D:\servers\Pentaho\biserver-ce\tomcat
       -Dcatalina.home=D:\servers\Pentaho\biserver-ce\tomcat
       -Djava.endorsed.dirs=D:\servers\Pentaho\biserver-ce\tomcat\endorsed
       -Djava.io.tmpdir=D:\servers\Pentaho\biserver-ce\tomcat\temp
       -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
       -Djava.util.logging.config.file=D:\servers\Pentaho\biserver-ce\tomcat\conf\logging.properties
       -Dsun.rmi.dgc.client.gcInterval=3600000
       -Dsun.rmi.dgc.server.gcInterval=3600000
       -XX:+UseConcMarkSweepGC
       -XX:+CMSPermGenSweepingEnabled
       -XX:+CMSClassUnloadingEnabled
       -XX:MaxPermSize=256m
       -Xss1M
      
tomcat6 service dialogue
tomcat6 service dialogue java tab

Run server and check log

  1. Start server by
    1. go to General tab
    2. press Start button
  2. Check the logs
    1. the logs are under <pentaho path>\biserver-ce\tomcat\logs
    2. use the baretail program for easier monitoring of the log

Q&A

Why not JDK 7?

JDK 7 is not backward compatible with JDK 6 and Tomcat 6 does not officially supports JDK 7.

What are the errors with incompatible JDK?

The one I encountered is %1 is not a valid Win32 application when trying to run tomcat in service mode.

Why there are more java options than default service installed by service.bat install?

The following 4 flags are to solve the java.lang.OutOfMemoryError: PermGem space

-XX:+UseConcMarkSweepGC
-XX:+CMSPermGenSweepingEnabled
-XX:+CMSClassUnloadingEnabled
-XX:MaxPermSize=256m”

The following line is to solve java.lang.StackOverflowError

-Xss1M

Sources

Advertisements

12 thoughts on “Install Pentaho 4.5 CE as service on Windows 7 x64”

      1. Hi, I am facing with below error..

        “GenericServlet.ERROR_0002 – Could not get content generator: analyzer ”

        do I miss any configuration in BI Server?

        Thanks,
        Herwin Rayen

      1. yes I accept, but I face with that error during authentication 😦 .. I don’t have iPad but I use emulator to test it and authentication fails. My Client test it with real iPad2 and saying he is also facing with that error and not able to login.. even in forum I didn’t get any response for that issue. Can you please share your skype or add me “herwinrayen” to your contact list. This may help me to solve this issue quickly.

  1. If you are setting up the default out-of-the-box BI Server, you will also need to create the Hypersonic DB as a windows service. The steps for that are give here: http://forums.pentaho.com/showthread.php?26941-Getting-rid-of-Hypersonic&highlight=wrapper.conf – under the reply “Hypersonic as a Windows Service”.

    Additionally, if you are using Windows 64 bit version, you will need to use the Java Service Wrapper from here http://www.krenger.ch/blog/tag/java-service-wrapper/ (the 32 bit Java wrapper from Tanuki Software doesn’t work with the 64 bit JDK).

  2. Thank you, the majority of this post was very helpful to me. I used the info to upgrade the 32bit tomcat 6.0.36 to the 64bit version. I’m running jdk 1.7, not 1.6 (this guide stated tomcat 6 was not compatible with jdk 1.7, but I haven’t run into issues yet). It also solved the java permGen space errors I was running into when logging into the BA server. I am running the archive build of the penato BA server on win server 2008 r2

  3. Thanks very much for this useful guide. I was tearing what’s left of my hair out trying to get pentaho’s tomcat to run as a service until I found this. To sum up, I had to install java 6 alongside the java 7 I had run Pentaho under and replace tomcat’s runtime with the 64 bit versions. None of this was to be found under pentaho’s documentation.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s