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!