Install and Running Pentaho on Mac M1, My Take

Hasnito Lailu Sobrian
5 min readMay 9, 2023

As we all know, Pentaho is one of the most popular tool for ETL, which is an important step for Data Engineering, Data Analysis, and Data Science. Pentaho were ran on Java programming language, which, theoretically, should be able to run in any computer platform (Java is everywhere just as their ads said).

Pic 1. Pentaho Homescreen

In our sad reality though, Pentaho ran on old build of Java 8, and thus incompatible with the newest mac machines (since they moved to ARM-based processors). This tutorial were made since the author can’t find any working tutorial out there (at least, from my personal experience). If you came to this article, you probably encountered the same fate with me, the author. This tutorial was made by compiling other existing tutorial and then ingrained my own enlightenment from frustration in installing pentaho using Mac M1.

Well, let’s stop the chit-chat and jump to the tutorial. This tutorial used MacBook Air M1 running macOS Ventura 13.3.1.

Here are what you need to download for installing and running Pentaho:

  1. Pentaho (well of course duh. I use Pentaho 8.2 by the time this article was written, but my friend could also run 9.2 in his mac).
  2. Java Development Kit 8 (any JDK 8 version should be okay i think, but I use jdk8u352-b08)
  3. Pentaho libswt (download from here if you don’t have it yet).

So I have downloaded all the requirements, then what?

Step 0: Creating a Terminal Profile.

Correct, you won’t touched them files you have downloaded anytime soon. Step 0 is creating a Terminal Profile since you will need this Terminal Profile ran to open Pentaho Every. Single. Time. Here’s what you need to do:

  • Open your terminal, then click Terminal in the menu bar (top-left corner beside apple logo if you can’t find it). Click Setting to open your terminal setting for adding new profile. A pop up screen for setting up terminal will be shown like this.
Pic 2. Terminal Setting Screen
  • Click the + sign at the bottom-left corner of Setting window. Fresh new profile will appear. Name it anything you want (keep in mind though you will use this terminal profile to open Pentaho everytime so mind the name to avoid confusion. I named it Rosettax64 because the profile is based on Mac Intel’s Rosetta and x64 is shorter than intel.)
  • On the left side of the setting window, select the profile you just created. Then, click the Shell tab in the setting window. Make some changes so that your Setting looks like Pic 3. If you’re not sure with how the command were written, you can copy this:
env /usr/bin/arch -x86_64 /bin/zsh --login
Pic 3. Terminal Setting’s Shell tab
  • Close the setting window and now you can open the profile everytime you need it. How to open it is by open your terminal, then click Shell at the menu bar (next to the Terminal). Choose New Window in the drop-down menu and click the profile you had created.

Step 1: Installing and Configuring the JDK

Congratulations, you have completed the Step 0. Now we will be actually touching the file you have downloaded.

  • Open the JDK .pkg file and just continue through everything. now you have the JDK installed.
  • Open your terminal, don’t cd into anything, then enter this command:
/usr/libexec/java_home -V
  • That command above will list all the Java version installed on your machine. The result should be like the picture below. I have two Java installed so this is what i get.
Pic 4. The terminal screen
  • Enter the command below:
nano .zshenv
  • you may or maybe not see some weird line of text in the terminal by now like the screenshot below. that’s the environment setting.
Pic 5. nano .zshenv output
  • If you find export JAVA_HOME like screenshot above, replace it with command below. else just create new line and copy the command below.
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8.0_352)
  • From the command above, the number thingy is the java version by the way, so you should fit it with the installed JDK 8 version in your machine (the one you got from listing the installed java, similar with what shown in Pic 4). after you done, press Control+X in your keyboard and then press Enter/return.
  • Now that you return to terminal view, enter command below:
source ~/.zshenv
  • close your terminal and re-open it. Then enter command below:
javac -version

if you follow this tutorial correctly, you should see the Java version you used is JDK 8 like the one listed in Pic 4. If not, you should stop following this tutorial here and find other tutorial (because this is an environment thing issue). Java installation finished here.

Step 2: Installing and Running Pentaho

Okay now that you got the Terminal Profile and Java ready, here’s the main event.

  • Extract Pentaho you have downloaded. Now you will see data-integration folder. you can move it anywhere you wanted for ease of use.
  • Copy the libswt you have downloaded (refer to download requirement number 3 above) to data-integration/libswt/osx64.
  • In the very same directory, delete the original swt.jar and rename your copied file to swt.jar.

Pentaho installation finished. Hurray!

Next, we will open pentaho. you will need to do this everytime you wanted to open pentaho.

  • Open your terminal, then open your terminal profile you had made from Step 0.
  • Open data-integration directory in your terminal.
  • Enter command below:
sh spoon.sh

At this point, you should have the pentaho opened. But wait, the interface is so glitchy that you can’t see most of the button.

Step 3: Polishing the Interface

This tutorial can be found in any other tutorial with exactly the same step doing the same thing, but I will just leave here just cause.

  • Click the Data Integration in the menu bar (top-left corner)
  • Click setting
  • now you will see an unclear pop-up. Do as two image below.
Pic 6. Fixing the Interface part 1
Pic 7. Fixing the Interface part 2
  • Restart the pentaho. keep in mind that you need to set the OS to dark mode for this trick to work.

And that’s it, you could use Pentaho in your Mac M1 now.

--

--