Este artigo documenta o processo de configuração para executar transformações do Pentaho em um aparelho Raspberry Pi 3 (nossa estação pi) com a imagem do Raspbian Stretch Lite (sem ambiente gráfico, com foco no kitchen).

A estação pi utilizada foi a 3 Model B com 1Gb de RAM.

Iniciamos já com a imagem instalada no cartão e o aparelho ligado em rede local configurado para acessar a Internet (um servidor DHCP na sua rede local pode ajudar muita nessa hora).

Essa imagem possui apenas o essencial do sistema operacional. Dessa forma vamos instalar uma série de dependências antes de iniciar a configuração do Pentaho para rodar na arquitetura ARM7. Lembrando que o suporte à essa plataforma não é oficial e nem suportado por mim ou pelos detentores dos direitos do Pentaho.

Aconselho alterar a senha padrão do usuário pi (raspberry) para algo que lhe seja familiar e seguro.

Vamos aos comandos.

Atualização do sistema:

sudo apt update
sudo apt upgrade
reboot

Ferramentas que utilizo durante as configurações:

sudo apt install nmap mc screen p7zip-full zip

Ativação do servidor ssh para acesso remoto à estação pi:

sudo systemctl start ssh
sudo systemctl enable ssh.service

Instalação do JAVA:

sudo apt install oracle-java8-jdk

Download do Pentaho 8.2 na estação pi (este link pode expirar no futuro):

wget -c https://razaoinfo.dl.sourceforge.net/project/pentaho/Pentaho%208.2/client-tools/pdi-ce-8.2.0.0-342.zip

Extração do pacote (o nome do arquivo pode mudar no futuro):

unzip pdi-ce-8.2.0.0-342.zip

Instalação das dependências:

sudo apt install libwebkitgtk-1.0
sudo apt install libswt-gtk-4-java
sudo apt install libswt-gtk-3-java
sudo apt install libswt-cairo-gtk-3-jni
mkdir -p "/home/pi/.swt/lib/linux/arm/"
ln -s /usr/lib/jni/libswt* /home/pi/.swt/lib/linux/arm/
cp /usr/share/java/swt-gtk-3.8.jar /home/pi/data-integration/libswt/linux/armv7l

Modificação do arquivo spoon.sh para a plataforma ARM7:

adicionar esse código dentro de “Linux)”, após “case $ARCH in”:

armv7l)
           LIBPATH=$CURRENTDIR/../libswt/linux/armv7l/
           ;;

trocar os parâmetros dessa linha:

PENTAHO_DI_JAVA_OPTIONS="-Xms256m -Xmx512m -XX:MaxHeapSize=512m"

Com isso é possível executar jobs no Raspberry Pi, mesmo levando em consideração as limitações da plataforma.

Boa sorte!