Friday, May 21, 2010

Install Pentaho Data Integration (a.k.a. Kettle) in Ubuntu

Tutorial index

Introduction

This is a brief tutorial on how to install Kettle in Ubuntu.

Pentaho Data Integration (a.k.a. Kettle) is a powerful multiplatform, metadata-driven ETL tool, that looks very promising.

I wrote this tutorial for Ubuntu 9.10 "the Karmic Koala", but it should work for other versions also.

Install Sun Java 6

  1. First think we need to do is install Sun Java 6. Maybe is already installed in our Ubuntu.

    To check if its installed run:

    # update-java-alternatives --list

  2. If you dont have the command update-java-alternatives run:

    # sudo apt-get install java-common

  3. After running update-java-alternatives --list, if Sun Java 6 is already installed you will have a line that starts with java-6-sun as part of the output.

    If you dont see the line execute the next command:

    # sudo apt-get install sun-java6-bin sun-java6-jre sun-java6-jdk sun-java6-plugin sun-java6-fonts ant

  4. Select Sun Java 6 as default jre/sdk:

    # sudo update-java-alternatives -s java-6-sun

Setup java home

  1. You also need to setup JAVA_HOME and PATH variable. Open your $HOME/.bashrc configuration:

    # gedit $HOME/.bashrc

  2. And add the following lines at the end of the file:

    export JAVA_HOME=/usr/lib/jvm/java-6-sun
    export PATH=$PATH:$JAVA_HOME/bin

Install Pentaho Kettle 3.2.2

  1. For this step you need to have subversion comand line tool installed. If you don't have it run:

    # sudo apt-get install subversion

  2. Create a temporary directory to build kettle:

    # mkdir /tmp/kettle_src
    # cd /tmp/kettle_src

  3. Export Kettle stable source code from the project repository:

    # svn export http://source.pentaho.org/svnkettleroot/Kettle/tags/3.2.2/ kettle
    # cd kettle/

  4. Comment JAVA_HOME on the top of autobuild.sh file.

    To do that run:

    # gedit autobuild.sh

  5. And search for the lines:

    JAVA_HOME=/usr/java/j2sdk1.4.2_13
    export JAVA_HOME

  6. And add a character # in front of the 2 lines of the previous item to have something like:

    #JAVA_HOME=/usr/java/j2sdk1.4.2_13
    #export JAVA_HOME

  7. To build Kettle run:

    # chmod +x autobuild.sh
    # source $HOME/.bashrc
    # ./autobuild.sh

  8. In this example we are installing Kettle for your current user in $HOME/opt/kettle, but you can change this location to any location you like.

    For example to: /opt/kettle or /usr/local/kettle

    # mkdir $HOME/opt
    # mv distrib/ $HOME/opt/kettle
    # chmod +x $HOME/opt/kettle/*.sh

  9. Remove Kettle source files:

    # cd
    # rm -R /tmp/kettle_src

Setup Pentaho Kettle

  1. Add Kettle directory to PATH variable. To do so open your $HOME/.bashrc file:

    # gedit $HOME/.bashrc

  2. And add the following line at the end of the file:

    export PATH=$PATH:$HOME/opt/kettle

  3. Update terminal environment to read new PATH:

    source $HOME/.bashrc

  4. Now you can run Spoon GUI application executing:

    # spoon.sh

  5. Pan and Kitchen can also be executed running command pan.sh or kitchen.sh.

by Jeronimo Albi

3 comments:

  1. Even if you have Sun Java 6 installed you might be needing to install other packages, so to be able to complete installation you might need to run:
    # sudo apt-get install sun-java6-bin sun-java6-jre sun-java6-jdk sun-java6-plugin sun-java6-fonts ant

    ReplyDelete
  2. To install Kettle 3.2 stable version use http://source.pentaho.org/svnkettleroot/Kettle/tags/3.2.0-stable/ as URL to get code from Pentaho project repository =).

    ReplyDelete
  3. Hi,
    Can i check with you is the kettle able to install in sun microsystem server?

    ReplyDelete