Pentaho adalah software Business Intelligence (BI) yang menyediakan data integrasi, pelayanan OLAP, reporting, dashboarding, data mining dan kemampuan ETL. Pentaho Data Integration atau Kettle adalah software dari Pentaho yang digunakan untuk proses ETL (Extraction, Transformation dan Load). PDI dapat digunakan untuk migrasi data, membersihkan data, loading dari file ke database atau sebaliknya dalam volume besar. Keunggulan PDI adalah tersedia graphical user interface dan drag-drop komponen yang dapat memudahkan user. Pentaho Data Integration memiliki tiga komponen utama, yakni spoon, pan dan kitchen. Spoon adalah user interface untuk membuat job dan transformation, kemudian pan itu program yang mengeksekusi transform dan kitchen merupakan program yang mengeksekusi job.

Transformation adalah komponen dari PDI berupa rancangan transformasi yang disusun untuk melakukan proses ETL. Ciri-cirinya, terdiri dari step (berisikan tugas-tugas), dieksekusi oleh pan (pan.bat atau pan.sh) dan format filenya (.ktr). Selanjutnya Job adalah komponen dari PDI yang menangani kontrol atas aliran tugas atau transformasi. Job memiliki ciri-ciri, bisa terdiri dari satu atau beberapa transformation dan job lain, dieksekkusi oleh kitchen (kitchen.bat atau kitchen.sh) dan format filenya (.kjb).

Menginstall database portgresql

untuk informasi cara menginstall database postgresql pada ubuntu, bisa kunjungi tautan berikut :

Cara menginstall postgresql di ubuntu 22.04

Install java jdk 8

root@uworkshop-VirtualBox:~# sudo apt install openjdk-8-jdk

Membuat user pentaho

useradd pentaho
passwd pentaho
usermod -aG sudo pentaho

Membuat directory yg akan digunakan untuk lokasi aplikasi pentaho

root@server:/app# sudo mkdir pentaho
root@server:/app# chown pentaho: pentaho

Extract Installer

unzip pentaho-server-ee-9.3.0.0-428-dist.zip
pentaho@server:/tmp$ ls -l
total 1530700
drwxr-xr-x 2 pentaho   pentaho         4096 Feb  1 10:16 hsperfdata_pentaho
drwxr-x--- 2 root      root            4096 Feb  1 10:17 hsperfdata_root
-rw-rw-r-- 1 root      root               0 Dec 17 10:05 ICRC_ROLL.lck
-rw-rw-r-- 1 temporary temporary 1567400311 Feb  2 08:53 pentaho-server-ee-9.3.0.0-428-dist.zip
drwx------ 3 root      root            4096 Dec 17 10:04 snap-private-tmp
drwx------ 3 root      root            4096 Dec 17 10:04 systemd-private-18a294f95f8f40cd94062a21e592974f-ModemManager.service-u3YF1r
drwx------ 3 root      root            4096 Dec 17 10:04 systemd-private-18a294f95f8f40cd94062a21e592974f-systemd-logind.service-hGkllk
drwx------ 3 root      root            4096 Dec 17 10:04 systemd-private-18a294f95f8f40cd94062a21e592974f-systemd-resolved.service-DNA9FC
-rw-rw-r-- 1 root      root               0 Dec 17 10:05 TRXHANDLER_ROLL.lck
drwx------ 2 root      root            4096 Dec 17 10:04 vmware-root_984-2999526209
pentaho@server:/tmp$
pentaho@server:/tmp$ unzip pentaho-server-ee-9.3.0.0-428-dist.zip
Archive:  pentaho-server-ee-9.3.0.0-428-dist.zip
   creating: pentaho-server-ee-9.3.0.0-428/
  inflating: pentaho-server-ee-9.3.0.0-428/README.txt
  inflating: pentaho-server-ee-9.3.0.0-428/install.bat
  inflating: pentaho-server-ee-9.3.0.0-428/install.sh
  inflating: pentaho-server-ee-9.3.0.0-428/license.txt
  inflating: pentaho-server-ee-9.3.0.0-428/installer.jar
pentaho@server:/tmp$
pentaho@server:/tmp$ ls -l
total 1530704
drwxr-xr-x 2 pentaho   pentaho         4096 Feb  1 10:16 hsperfdata_pentaho
drwxr-x--- 2 root      root            4096 Feb  1 10:17 hsperfdata_root
-rw-rw-r-- 1 root      root               0 Dec 17 10:05 ICRC_ROLL.lck
drwxr-xr-x 2 pentaho   pentaho         4096 Apr 12  2022 pentaho-server-ee-9.3.0.0-428
-rw-rw-r-- 1 temporary temporary 1567400311 Feb  2 08:53 pentaho-server-ee-9.3.0.0-428-dist.zip
drwx------ 3 root      root            4096 Dec 17 10:04 snap-private-tmp
drwx------ 3 root      root            4096 Dec 17 10:04 systemd-private-18a294f95f8f40cd94062a21e592974f-ModemManager.service-u3YF1r
drwx------ 3 root      root            4096 Dec 17 10:04 systemd-private-18a294f95f8f40cd94062a21e592974f-systemd-logind.service-hGkllk
drwx------ 3 root      root            4096 Dec 17 10:04 systemd-private-18a294f95f8f40cd94062a21e592974f-systemd-resolved.service-DNA9FC
-rw-rw-r-- 1 root      root               0 Dec 17 10:05 TRXHANDLER_ROLL.lck
drwx------ 2 root      root            4096 Dec 17 10:04 vmware-root_984-2999526209
pentaho@server:/tmp$

Masuk ke directory installer pentaho

pentaho@server:/tmp$ cd pentaho-server-ee-9.3.0.0-428/
pentaho@server:/tmp/pentaho-server-ee-9.3.0.0-428$ ls -l
total 1531300
-rw-r--r-- 1 pentaho pentaho        305 Apr 12  2022 install.bat
-rw-r--r-- 1 pentaho pentaho 1567975366 Apr 12  2022 installer.jar
-rwxr-xr-x 1 pentaho pentaho         26 Apr 12  2022 install.sh
-rw-r--r-- 1 pentaho pentaho      56543 Apr 12  2022 license.txt
-rw-r--r-- 1 pentaho pentaho        946 Apr 12  2022 README.txt
pentaho@server:/tmp/pentaho-server-ee-9.3.0.0-428$

Memulai proses instalasi dengan menjalankan perintah

pentaho@server:/tmp/pentaho-server-ee-9.3.0.0-428$ ./install.sh

Akan muncul jendela instalasi dalam bentuk GUI, diperlukan ssh client yg support x-server atau desktop untuk menampilakn GUI installasi

pentaho@server:/tmp/pentaho-server-ee-9.3.0.0-428$ ./install.sh
Command line arguments:
====================
Installation started
Framework: 5.1.3-84aaf (IzPack)
Platform: ubuntu_linux,version=5.15.0-75-generic,arch=x64,symbolicName=null,javaVersion=11.0.21
executable perms set on file set-pentaho-env.sh
executable perms set on file distribute-files.sh
executable perms set on file set-pentaho-env.sh
executable perms set on file set-pentaho-env.sh
executable perms set on file start_hypersonic.sh
executable perms set on file stop_hypersonic.sh
executable perms set on file import-export.sh
executable perms set on file encr.sh
executable perms set on file stop-pentaho.sh
executable perms set on file promptuser.sh
executable perms set on file start-pentaho.sh
executable perms set on file buildFlashStorage.sh
executable perms set on file build.sh
executable perms set on file cleanup.sh
executable perms set on file compile.sh
executable perms set on file buildFlashStorage.sh
executable perms set on file build.sh
executable perms set on file cleanup.sh
executable perms set on file compile.sh
executable perms set on file install-snowflake-vfs.sh
executable perms set on file shutdown.sh
executable perms set on file version.sh
executable perms set on file catalina.sh
executable perms set on file makebase.sh
executable perms set on file configtest.sh
executable perms set on file setclasspath.sh
executable perms set on file ciphers.sh
executable perms set on file tool-wrapper.sh
executable perms set on file digest.sh
executable perms set on file startup.sh
executable perms set on file daemon.sh
executable perms set on file start-pentaho-debug.sh
executable perms set on file set-pentaho-env.sh
executable perms set on file install_license.sh
Installation finished
pentaho@server:/tmp/pentaho-server-ee-9.3.0.0-428$

Edit koneksi database

pentaho@server:~$ nano /opt/pentaho/pentaho-server-ee-9.3.0.0-428/pentaho-server/tomcat/webapps/pentaho/META-INF/context.xml
pentaho@server:~$ cat /app/pentaho/pentaho/pentaho-server-ee-9.3.0.0-428/pentaho-server/tomcat/webapps/pentaho/META-INF/context.xml
<?xml version="1.0" encoding="UTF-8"?>
<!--===========================================================================
HITACHI VANTARA PROPRIETARY AND CONFIDENTIAL

Copyright 2002 - 2019 Hitachi Vantara. All rights reserved.

NOTICE: All information including source code contained herein is, and
remains the sole property of Hitachi Vantara and its licensors. The intellectual
and technical concepts contained herein are proprietary and confidential
to, and are trade secrets of Hitachi Vantara and may be covered by U.S. and foreign
patents, or patents in process, and are protected by trade secret and
copyright laws. The receipt or possession of this source code and/or related
information does not convey or imply any rights to reproduce, disclose or
distribute its contents, or to manufacture, use, or sell anything that it
may describe, in whole or in part. Any reproduction, modification, distribution,
or public display of this information without the express written authorization
from Hitachi Vantara is strictly prohibited and in violation of applicable laws and
international treaties. Access to the source code contained herein is strictly
prohibited to anyone except those individuals and entities who have executed
confidentiality and non-disclosure agreements or other agreements with Hitachi Vantara,
explicitly covering such access.
============================================================================-->
<Context path="/pentaho" docbase="webapps/pentaho/">
  <Resource name="jdbc/Hibernate" auth="Container" type="javax.sql.DataSource"
            factory="org.pentaho.di.core.database.util.DecryptingDataSourceFactory" maxActive="20" minIdle="0" maxIdle="5" initialSize="0"
            maxWait="10000" username="hibuser" password="p455w0rdM45ukGas"
            driverClassName="org.postgresql.Driver" url="jdbc:postgresql://localhost:5432/hibernate"
            validationQuery="select 1" jdbcInterceptors="ConnectionState" defaultAutoCommit="true"/>

  <Resource name="jdbc/Audit" auth="Container" type="javax.sql.DataSource"
            factory="org.pentaho.di.core.database.util.DecryptingDataSourceFactory" maxActive="20" minIdle="0" maxIdle="5" initialSize="0"
            maxWait="10000" username="hibuser" password="p455w0rdM45ukGas"
            driverClassName="org.postgresql.Driver" url="jdbc:postgresql://localhost:5432/hibernate"
            validationQuery="select 1" />

  <Resource name="jdbc/Quartz" auth="Container" type="javax.sql.DataSource"
            factory="org.pentaho.di.core.database.util.DecryptingDataSourceFactory" maxActive="20" minIdle="0" maxIdle="5" initialSize="0"
            maxWait="10000" username="pentaho_user" password="p455w0rdM45ukGas" testOnBorrow="true"
            driverClassName="org.postgresql.Driver" url="jdbc:postgresql://localhost:5432/quartz"
            validationQuery="select 1"/>

  <Resource name="jdbc/PDI_Operations_Mart" auth="Container" type="javax.sql.DataSource"
            factory="org.pentaho.di.core.database.util.DecryptingDataSourceFactory" maxActive="20" minIdle="0" maxIdle="5" initialSize="0"
            maxWait="10000" username="hibuser" password="p455w0rdM45ukGas"
            driverClassName="org.postgresql.Driver" url="jdbc:postgresql://localhost:5432/hibernate"
            validationQuery="select 1"/>

  <Resource name="jdbc/pentaho_operations_mart" auth="Container" type="javax.sql.DataSource"
            factory="org.pentaho.di.core.database.util.DecryptingDataSourceFactory" maxActive="20" minIdle="0" maxIdle="5" initialSize="0"
            maxWait="10000" username="hibuser" password="p455w0rdM45ukGas"
            driverClassName="org.postgresql.Driver" url="jdbc:postgresql://localhost:5432/hibernate"
            validationQuery="select 1"/>

 <Resource name="jdbc/live_logging_info" auth="Container" type="javax.sql.DataSource"
            factory="org.pentaho.di.core.database.util.DecryptingDataSourceFactory" maxActive="20" minIdle="0" maxIdle="5" initialSize="0"
            maxWait="10000" username="hibuser" password="p455w0rdM45ukGas"
            driverClassName="org.postgresql.Driver" url="jdbc:postgresql://localhost:5432/hibernate?searchpath=pentaho_dilogs"
            validationQuery="select 1"/>

  <Resource name="jdbc/SampleData" auth="Container" type="javax.sql.DataSource"
            factory="org.pentaho.di.core.database.util.DecryptingDataSourceFactory" maxActive="20" minIdle="0" maxIdle="5" initialSize="0"
            maxWait="10000" username="pentaho_user" password="password"
            driverClassName="org.hsqldb.jdbcDriver" url="jdbc:hsqldb:hsql://localhost/sampledata"
            validationQuery="select 1"/>

  <Resource name="jdbc/SampleDataAdmin" auth="Container" type="javax.sql.DataSource"
            factory="org.pentaho.di.core.database.util.DecryptingDataSourceFactory" maxActive="20" minIdle="0" maxIdle="5" initialSize="0"
            maxWait="10000" username="pentaho_admin" password="password"
            driverClassName="org.hsqldb.jdbcDriver" url="jdbc:hsqldb:hsql://localhost/sampledata"
            validationQuery="select 1"/>

  <Resource name="jdbc/jackrabbit" auth="Container" type="javax.sql.DataSource"
            factory="org.pentaho.di.core.database.util.DecryptingDataSourceFactory" maxActive="20" minIdle="0"
            maxIdle="5" initialSize="0"
            maxWait="10000" username="jcr_user" password="p455w0rdM45ukGas"
            driverClassName="org.postgresql.Driver"
            url="jdbc:postgresql://localhost:5432/jackrabbit"
            validationQuery="select 1"/>
            <!--
            url="jdbc:mysql://localhost:3306/jackrabbit"/>
            url="jdbc:oracle:thin:@localhost:1521/XE"/>
            url="jdbc:sqlserver://localhost:1433;DatabaseName=jackrabbit"/>
            -->
</Context>

Edit password yang ada di dalam sql agar lebih kuat

root@server:~# nano /opt/pentaho/pentaho-server-ee-9.3.0.0-428/pentaho-server/data/postgresql/create_quartz_postgresql.sql
root@server:~# nano /opt/pentaho/pentaho-server-ee-9.3.0.0-428/pentaho-server/data/postgresql/create_jcr_postgresql.sql
root@server:~# nano /opt/pentaho/pentaho-server-ee-9.3.0.0-428/pentaho-server/data/postgresql/create_repository_postgresql.sql

Edit pg_hba tambahkan user pentaho_user sementara sebagai trust agar bisa mengexsekusi script

pentaho@server:/home/pentaho$ sudo nano /etc/postgresql/14/main/pg_hba.conf
# DO NOT DISABLE!
# If you change this first entry you will need to make sure that the
# database superuser can access the database using some other method.
# Noninteractive access to all databases is required during automatic
# maintenance (custom daily cronjobs, replication, and similar tasks).
#
# Database administrative login by Unix domain socket
local   all             postgres                                peer

local   all             pentaho_user                            trust
# TYPE  DATABASE        USER            ADDRESS                 METHOD

Lalu restart postgresql server

pentaho@server:/home/pentaho$ sudo systemctl restart postgresql

Import database

root@server:~# sudo -u postgres psql -a -f /opt/pentaho/pentaho-server-ee-9.3.0.0-428/pentaho-server/data/postgresql/create_quartz_postgresql.sql
root@server:~# sudo -u postgres psql -a -f /opt/pentaho/pentaho-server-ee-9.3.0.0-428/pentaho-server/data/postgresql/create_jcr_postgresql.sql
root@server:~# sudo -u postgres psql -a -f /opt/pentaho/pentaho-server-ee-9.3.0.0-428/pentaho-server/data/postgresql/create_repository_postgresql.sql

Membuat direktory (Jika ada error tidak bisa membuat directory)

pentaho@uworkshop-VirtualBox:~$ mkdir -p /home/pentaho/.pentaho/caches
pentaho@uworkshop-VirtualBox:~$ mkdir -p /home/pentaho/.pentaho/metastore

Leave a Reply

Your email address will not be published. Required fields are marked *