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!

Tive melhores resultados trabalhando com projetos que gravam dados em banco de dados Microsoft Access como saída de fluxo no PDI seguindo essas orientações:

  • não utilizar ODBC, procurar usar o componente nativo de saída do Pentaho e distribuir o resultado no fluxo;
  • deixar o componente criar a tabela no banco de dados (pelo menos na primeira vez que for executado) – isso evita que o step fique em Halting sem gravar dados;
  • cuidado ao deixar o banco de dados aberto em outro aplicativo – isso cria um lock que pode impedir o fluxo de funcionar;
  • prefira o formato .mdb do que o atual .accdb.

Boa sorte!

Preparando o ambiente

O Pentaho PDI usa o ambiente Java para ser executado. Nesse momento o recomendável é ter a versão 8 do Java instalado.

Abra o terminal e digite o seguinte comando para saber se o Java está instalado e qual sua versão:

java -version

Caso ainda não tenha o Java instalado, execute os comandos abaixo para adicionar o repositório e instalar os aplicativos:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
sudo apt-get install oracle-java8-set-default

Agora vamos validar a varável de ambiente JAVA_HOME. Digite o seguinte comando:

env | grep JAVA_HOME

Se não obtiver nenhum resultado, essa variável deverá ser definida no arquivo ~/.bashrc adicionado a seguinte linha:

export JAVA_HOME=/usr/lib/jvm/java-8-oracle

Salve e execute o comando abaixo para recarregar o valor das varáveis no ambiente sem necessitar dar reboot ou reiniciar a sessão do usuário:

source .bashrc

Instalando o PDI (Kettle)

O aplicativo possui todos os arquivos necessários para a execução e deve ser baixado do site oficial nesse link:

http://community.pentaho.com/projects/data-integration/

O pacote pode ser descompactado dentro que qualquer pasta. Se for do usuário, sugiro criar uma pasta Aplicativos e descompactar dentro dela. Se for do sistema, descompacte dentro da /opt.

Executando o aplicativo

É importante verificar se possui o pacote abaixo instalado antes de executar o aplicativo pela primeira vez:

sudo apt-get install libwebkitgtk-1.0-0

Dentro da pasta data-integration que foi descompactada, altere a permissão do arquivo spoon.sh para execução:

chmod +x spoon.sh

Depois disso é só executar esse arquivo que o PDI deverá abrir.

 

Para executar o Pentaho Data Integration (PDI) no Windows 7 32bits, siga as orientações abaixo.

  • Instalar a JRE e a JDK do Java no Windows (escolher a versão i586 que corresponde a arquitetura de 32bits)
  • Definir as duas variáveis de ambiente abaixo no Windows (troque o caminho de acordo com a versão do Java instalado):
    • PENTAHO_JAVA_HOME=C:\Program Files\Java\jre1.8.0_144
    • JAVA_HOME=C:\Program Files\Java\jre1.8.0_144
  • Editar o arquivo spoon.bat e trocar o valor do xmx para 1536

Ao executar o .bat, aguarde alguns segundos antes de desistir :). Aplicativos desse porte demoram um pouco para iniciar em ambientes 32bits.