25 de janeiro de 2012

Instalação do Pentaho BI CE 3.10.0


Desenvolvido pela Pentaho Corporation, o Pentaho BI é uma plataforma para solução de Business Intelligence (BI), escrito em Java. O Pentaho se baseia em um conjunto de soluções open source, também escritas em Java, como exemplos, o Hibernate, o Quartz e o Spring. É uma solução completa, composta de um servidor de BI e uma suite de ferramentas para desenvolvimento, que provê o processo de Extract Transform Load (ETL), Análises On-Line Analytical Processing (OLAP), criação de relatórios, metamodelos, dashboards e datamining. A plataforma Pentaho BI é disponibilizada em várias versões, que podem ser conhecidas através do endereço http://www.pentaho.com/license .
Nós vamos utilizar neste post, a versão Community Edition (CE), que é a open source. Neste, e nos próximos posts que escreverei, vamos dar maior ênfase à infra estrutura da solução. Para iniciar, vamos ver a instalação básica do Pentaho BI, que consiste em uma versão pré-configurada, utilizando o tomcat, com o Sistema Gerenciador de Banco de Dados (SGDB) HSQLDB embarcado. Vou mostrar os procedimentos para instalação do servidor do Pentaho BI CE em sua configuração básica, onde a cada post posterior, vou mostrar como realizar algumas otimizações, como é o caso da integração com o PostgreSQL entre outras configurações.


O Java é um requisito básico. Para instalar o java, utilize o post sobre instalação do Java, contido neste blog em "Instalação do Java6 SDK em distro Debian ou Ubuntu".

Agora, logue como root no Sistema Operacional ou execute o comando abaixo para utilizar o usuário "root".
~$ sudo su -


Após a correta instalação do Java6, fazer o download da versão estável do Pentaho BI 3.10.0 CE a partir do source forge.
~# mkdir /opt/dowload
~# cd /opt/download
~# wget http://sourceforge.net/projects/pentaho/files/Business%20Intelligence%20Server/3.10.0-stable/biserver-ce-3.10.0-stable.tar.gz

Crie uma pasta com nome "pentaho" em "/opt" e descompacte o pacote.
~# mkdir /opt/pentaho
~# cd /opt/download
~# tar -vzxf ./biserver-ce-3.10.0-stable.tar.gz -C /opt/pentaho


Após descompacatar o pacote do Pentaho BI CE, a pasta "/opt/pentaho" deverá estar com as subpastas "administration-console" e "biserver-ce", conforme exemplo abaixo.
~# ls -lia /opt/pentaho
total 16
523769 drwxr-xr-x 4 root root 4096 2012-01-22 21:28 .
 57233 drwxr-xr-x 7 root root 4096 2012-01-22 20:47 ..
536941 drwxr-xr-x 6 root root 4096 2012-01-22 21:28 administration-console
536959 drwxr-xr-x 6 root root 4096 2012-01-22 21:28 biserver-ce


O Pentaho BI CE se divide em dois módulos, sendo o Pentaho User Console e o Pentaho Administration Console, onde vamos tratá-los separadamente.

Pentaho User Console (PUC)
O Pentaho User Console (PUC) ou Console de Usuário é o servidor de BI propriamente dito, esta contido na pasta "biserver-ce" e utiliza o web container Apache Tomcat.

Configure o PUC.
Utilizando um editor de sua preferência, inclua no arquivo "/opt/pentaho/biserver-ce/tomcat/webapps/pentaho/WEB-INF/web.xml" o caminho do repositóro de soluções do Pentaho BI, conforme o exemplo abaixo.
<context-param>
   <param-name>solution-path</param-name>
   <param-value>/opt/pentaho/biserver-ce/pentaho-solutions</param-value>
</context-param>

Inicialize o PUC.
~# cd /opt/pentaho/biserver-ce/
~# ./start-pentaho.sh &
[1] 2838
~# /opt/pentaho/biserver-ce
/opt/pentaho/biserver-ce
DEBUG: Using JAVA_HOME
DEBUG: _PENTAHO_JAVA_HOME=/usr/lib/jvm/java-6-sun/jre
DEBUG: _PENTAHO_JAVA=/usr/lib/jvm/java-6-sun/jre/bin/java
Using CATALINA_BASE:   /opt/pentaho/biserver-ce/tomcat
Using CATALINA_HOME:   /opt/pentaho/biserver-ce/tomcat
Using CATALINA_TMPDIR: /opt/pentaho/biserver-ce/tomcat/temp
Using JRE_HOME:        /usr/lib/jvm/java-6-sun/jre
Using CLASSPATH:       /opt/pentaho/biserver-ce/tomcat/bin/bootstrap.jar
[1]+  Concluído              ./start-pentaho.sh

Certifique que serviço do tomcat foi iniciado com sucesso.
~# ps aux | grep catalina
root      2852  106 13.5 1197580 412116 pts/0  Sl   22:20   1:27 /usr/lib/jvm/java-6-sun/jre/bin/java -Djava.util.logging.config.file=/opt/pentaho/biserver-ce/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Xms256m -Xmx768m -XX:MaxPermSize=256m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djava.endorsed.dirs=/opt/pentaho/biserver-ce/tomcat/endorsed -classpath /opt/pentaho/biserver-ce/tomcat/bin/bootstrap.jar -Dcatalina.base=/opt/pentaho/biserver-ce/tomcat -Dcatalina.home=/opt/pentaho/biserver-ce/tomcat -Djava.io.tmpdir=/opt/pentaho/biserver-ce/tomcat/temp org.apache.catalina.startup.Bootstrap start
root      2929  0.0  0.0   3060   800 pts/0    R+   22:21   0:00 grep catalina

Utilie um browser de sua preferência, verifique a página do PUC utilizando o endereço http://localhost:8080




Logue no PUC, utilizando usuário:joe e senha:password

Se precisar parar o serviço do PUC, utilize o script apropriado, conforme abaixo.

~# cd /opt/pentaho/biserver-ce/
~# ./stop-pentaho.sh &


Pentaho Administration Console (PAC)
O Pentaho Administration Console (PAC) ou Console de Administração provê a administração do Pentaho BI, esta contido na pasta "administration-console" e utiliza o web container Jetty.

Configure o PAC.


Utilizando um editor de sua preferência, inclua no arquivo "/opt/pentaho/administration-console/resource/config/console.xml" o caminho do repositóro de soluções do Pentaho BI e o caminho do contexto da aplicação, que no caso é o prórpio "pentaho", conforme o exemplo abaixo.
<?xml version="1.0" encoding="UTF-8"?>
<console>
   <solution-path>/opt/pentaho/biserver-ce/pentaho-solutions</solution-path>
   <war-path>/opt/pentaho/biserver-ce/tomcat/webapps/pentaho</war-path>
   <platform-username>joe</platform-username>
   <biserver-status-check-period-millis>30000</biserver-status-check-period-millis>
   <homepage-url>http://www.pentaho.com/console_home</homepage-url>
   <homepage-timeout-millis>15000</homepage-timeout-millis>
   <!-- comma separated list of roles (no spaces) -->
   <default-roles>Authenticated</default-roles>
   <default-server-dir>biserver-ce</default-server-dir>
</console>

Inicialize o PAC.
~# cd /opt/pentaho/administration-console/
~# ./start-pac.sh &
[1] 2938
~# /opt/pentaho/administration-console
/opt/pentaho/administration-console
DEBUG: Using JAVA_HOME
DEBUG: _PENTAHO_JAVA_HOME=/usr/lib/jvm/java-6-sun/jre
DEBUG: _PENTAHO_JAVA=/usr/lib/jvm/java-6-sun/jre/bin/java
22:23:50,100 INFO  [JettyServer] Console is starting
22:23:50,177 INFO  [/] org.pentaho.pac.server.BrowserLocaleServlet-20698484: init
22:23:50,179 INFO  [/] org.pentaho.pac.server.DefaultConsoleServlet-10605044: init
22:23:50,179 INFO  [/] org.pentaho.pac.server.PacServiceImpl-2929821: init
22:23:50,180 INFO  [/] org.pentaho.pac.server.SchedulerServiceImpl-13177628: init
22:23:50,180 INFO  [/] org.pentaho.pac.server.SolutionRepositoryServiceImpl-30562042: init
22:23:50,180 INFO  [/] org.pentaho.pac.server.SubscriptionServiceImpl-25383554: init
22:23:50,180 INFO  [/] org.pentaho.pac.server.common.HibernateConfigurationServiceImpl-19461870: init
22:23:50,180 INFO  [/] org.pentaho.pac.server.common.JdbcDriverDiscoveryServiceImpl-29057219: init
22:23:50,220 INFO  [JettyServer] Console is now started. It can be accessed using http://localhost:8099 or http://127.0.1.1:8099

Certifique que o PAC foi inicializado com sucesso.
~# ps aux | grep jetty
root      2944  1.3  1.1 738600 33388 pts/0    Sl   22:23   0:01 /usr/lib/jvm/java-6-sun/jre/bin/java -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M -DCONSOLE_HOME=. -Dlog4j.configuration=resource/config/log4j.xml -cp .:resource/config::./jdbc/hsqldb-1.8.0.7.jar:./jdbc/mysql-connector-java-5.1.17.jar:./lib/antlr-2.7.6.jar:./lib/asm-1.5.3.jar:./lib/asm-2.2.3.jar:./lib/asm-attrs-1.5.3.jar:./lib/asm-attrs-2.2.3.jar:./lib/avalon-framework-4.1.3.jar:./lib/cglib-2.1_3.jar:./lib/commons-beanutils-1.6.jar:./lib/commons-codec-1.3.jar:./lib/commons-collections-3.2.jar:./lib/commons-httpclient-3.0.1.jar:./lib/commons-io-1.4.jar:./lib/commons-lang-2.2.jar:./lib/commons-logging-1.1.jar:./lib/dom4j-1.6.1.jar:./lib/ehcache-core-2.0.1.jar:./lib/ejb3-persistence-1.0.1.GA.jar:./lib/groovy-all-1.5.6.jar:./lib/gwt-datepicker-r30.jar:./lib/gwt-dnd-3.0.1.jar:./lib/gwt-incubator-2.0.1.jar:./lib/gwt-servlet-2.0.3.jar:./lib/gwt-widgets-0.2.0.jar:./lib/hibernate-3.2.6.ga.jar:./lib/hibernate-annotations-3.3.1.GA.jar:./lib/hibernate-commons-annotations-3.0.0.ga.jar:./lib/javassist-3.4.ga.jar:./lib/jaxen-1.1.jar:./lib/jetty-6.1.2.jar:./lib/jetty-gwt-6.1.9.jar:./lib/jetty-plus-6.1.2.jar:./lib/jetty-util-6.1.9.jar:./lib/jta-1.0.1B.jar:./lib/log4j-1.2.12.jar:./lib/log4j-1.2.14.jar:./lib/logkit-1.0.1.jar:./lib/pentaho-actionsequence-dom-2.3.4.jar:./lib/pentaho-bi-platform-api-3.10.0-stable.jar:./lib/pentaho-bi-platform-engine-core-3.10.0-stable.jar:./lib/pentaho-bi-platform-engine-security-3.10.0-stable.jar:./lib/pentaho-bi-platform-engine-services-3.10.0-stable.jar:./lib/pentaho-bi-platform-repository-3.10.0-stable.jar:./lib/pentaho-bi-platform-security-userroledao-3.10.0-stable.jar:./lib/pentaho-bi-platform-util-3.10.0-stable.jar:./lib/pentaho-connections-2.2.3.jar:./lib/pentaho-gwt-widgets-3.1.2.jar:./lib/pentaho-gwt-widgets-3.1.2-sources.jar:./lib/pentaho-open-admin-console-3.10.0-stable.jar:./lib/pentaho-open-admin-console-3.10.0-stable-sources.jar:./lib/pentaho-open-admin-console-messages-3.10.0-stable.jar:./lib/pentaho-xul-core-3.3.2.jar:./lib/servlet-api-2.3.jar:./lib/servlet-api-2.5.jar:./lib/slf4j-api-1.5.8.jar:./lib/slf4j-log4j12-1.5.8.jar:./lib/spring-2.5.6.jar:./lib/spring-security-core-2.0.5.RELEASE.jar:./lib/xml-apis-1.0.b2.jar org.pentaho.pac.server.JettyServer

Utilie um browser e verifique a página do PAC utilizando o endereço http://localhost:8099
Na tela de login, utilize o usuário:admin e senha:password



Após autenticação, a tela do PAC será iniciada.



Se precisar parar o serviço do PAC, utilize o script apropriado, conforme abaixo.
~# cd /opt/pentaho/administration-console/
~# ./stop-pac.sh &


Observação
- Em caso de problemas com a inicialização, verifique se as configurações foram realizadas corretamente e se a variável de ambiente "JAVA_HOME" foi configurado, conforme segue.
~# echo $JAVA_HOME
/usr/lib/jvm/java-6-sun/jre

Em caso de dúvidas na configuração do Java6, verifique os procedimentos para "Instalação do Java6 SDK em distro Debian ou Ubuntu".


- A utilização do usuário root para inicialização do Pentaho, é opcional. Caso você queira utilizar um usuário diferente do root para administração, basta criá-lo e atribuir as permissões necessárias à pasta da instalação do pentaho BI. Segue abaixo um exemplo de configuração para administração do Pentaho BI utilizando um usuário de nome "Pentaho".
Crie o usuário "pentaho" para administração da solução.
~# adduser pentaho
Adicionando o usuário `pentaho' ...
Adicionando novo grupo `pentaho' (1003) ...
Adicionando novo usuário `pentaho' (1003) ao grupo `pentaho' ...
Criando diretório pessoal `/home/pentaho' ...
Copiando arquivos de `/etc/skel' ...
Digite a nova senha UNIX:
Redigite a nova senha UNIX:
passwd: senha atualizada com sucesso.
Changing the user information for pentaho
Enter the new value, or press ENTER for the default
    Full Name []: Pentaho
    Room Number []:
    Work Phone []:
    Home Phone []:
    Other []:
Esta informação está correta?[S/n] s

Configure as permissões necessárias.
~# chown -R pentaho.pentaho /opt/pentaho
~# chmod -R 755 /opt/pentaho

Logue com o usuário "pentaho" e inicialize o Pentaho BI.
~# su - pentaho
~$ cd /opt/pentaho/biserver-ce
~$ ./start-pentaho.sh &

No mais, é Sob Demanda!

0 comentários:

Postar um comentário