Sei sulla pagina 1di 26

Formatted: Left

Instalación Pentaho biserver 3.8 en Linux y base


vi` Co
Formatted: Font: Bold
PostgreSQL Formatted: Left: 0.79", Right: 0.69"

Consorcio - SIU Formatted: Font: Bold


Fecha actualización: 11/05/2012 Formatted: Font: Bold
Formatted: Font: Bold
Formatted ...
Formatted ...
Importante: Hay una nueva guía de instalación en la Wiki
http://repositorio.siu.edu.ar/trac/dw_pentaho/wiki/WikiStart Formatted ...
Formatted ...
Formatted ...
Formatted ...
Formatted ...
Contenido Formatted ...
Introducción Formatted: Font: Bold
Requerimientos mínimos de Hardware y Software
Formatted ...
Instalación del BI Server
Formatted ...
Listado de tareas involucradas
Instalar el biserver de Pentaho Formatted ...
Modificar la memoria RAM asignada a la JVM Formatted: Font: Bold
Cambiar puerto y url Formatted: Font: Bold
Modificar el tiempo de timeout de la sesión de la Consola de Usuario
Formatted: Font: Bold
Modificar
Formatted ...
la pantalla de Login de la consola de Usuario
Configuración de confianza en la Consola de Administración Formatted ...
Formatted: Font: Bold

Arranque automático del servid or Pentaho y la Consola Formatted: Font: Bold


de Administración Formatted ...
Biserver Formatted ...
Consola de administración Formatted ...
Configuración de Pentaho en PostgreSQL
Formatted ...
Extraer el paquete de Scripts SQL PostgreSQL 8.x.x Script Pack
Cargar los scripts SQL Formatted ...
Configurando la seguridad JDBC Formatted ...
applicationContext-spring-security-jdbc.xml Formatted ...
applicationContext-spring-security-hibernate.properties Formatted ...
hibernate-settings.xml
Formatted ...
postgresql.hibernate.cfg.xml
Configurando Hibernate and Quartz Formatted: Font: Bold

context.xml Formatted ...


quartz.properties Formatted ...
pentaho.xml Formatted ...
Configurando Apache-Tomcat Server
Formatted ...
solution-path
fully-qualified-server-url Formatted ...
Formatted ...

SIU - Datawarehouse 1
Deshabilitar el arranque de la base HSQL Formatted: Font: Bold
Formatted: Font: Bold
TrustedIpAddrs
Formatted: Font: Bold
Configurando SMTP (mail server)
Configurando Publicación (Publishing) Formatted: Font: Bold

Configurando la Consola de Administración Formatted: Font: Bold


Iniciando el servidor de Pentaho Formatted: Font: Bold
Iniciando la Consola de Administración Formatted: Font: Bold
Configuración de la conexión JNDI
Formatted: Font: Bold
Monitorear la actividad del Apache-Tomcat en Pentaho CE
Formatted: Font: Bold
Instalación de las soluciones SIU en Pentaho
Carga de datos en la base del datawarehouse (siu_dw) Formatted: Font: Bold
Formatted: Font: Bold
Introducción Formatted: Font: Bold
Este documento tiene como objetivo guiar al usuario en la instalación y configuración de un servidor Formatted: Font: Bold
de Pentaho, en especial el biserver 3.8, en la ditribución Ubuntu de Linux. Además, se detallan Formatted: Font: Bold
los pasos para instalar el repositorio en base de datos PostgreSQL y la puesta en funcionamiento Formatted: Font: Bold
de las soluciones SIU.
Formatted: Font: Bold
Formatted: Font: Bold

Requerimientos mínimos de Hardware y Software Formatted: Font: Bold


Formatted: Font: Bold
Para realizar una instalación básica recomendamos contar con al menos lo siguiente:
Formatted: Font: Bold
Software: Formatted: Font: Bold
S.O: Ubuntu o Debian (Probados por el SIU) Formatted: Font: Bold
B.D: PostgreSQL 8.1 o superior. (La versión 9.1 aún no se probó)
Java: JRE versión 1.6.0 o superior

Hardware (Mínimo):LINUX
Procesador: Dual Core
RAM: 2 o 3 GB
HD: 100 GB

Instalación del BI Server

Listado de tareas involucradas

1- Instalar el biserver de Pentaho.


2- x Configurar los puertos de escucha del biserver. Hablar con los encargados de IT/Redes para
que habiliten los puertos de acceso al servidor desde Internet.
usuari3- Configurar un usuario en el servidor de Pentaho (por ej: pentaho) y dar permiso a todos
los archivos de pentaho a ese usuario /usr/local/pentaho. Esto es para seguridad y que no se
ejecute como root.
cd ..4- Configurar el arranque automático del servidor Pentaho y la Consola de Administración.
5-Modificar el tiempo de timeout de la session de la Consola de Usuario. Por defecto tiene seteado
30 minutos.
6- Instalar la base de datos en PostgreSQL. Hablar con los encargados IT para que creen las bases

SIU - Datawarehouse 2
necesarias y los usuarios y en caso de ser necesario para que habiliten los puertos para acceder
desde el servidor de Pentaho a la base PostgreSQL.
7- Instalar las soluciones SIU en el servidor de Pentaho.
8- Cargar los datos de la solución de Pentaho en la base de datos.
9- Configurar el biserver para que utilice la base de datos Postgres y no la que viene por defecto
(hypersonic).
10- Desactivar la base Hypersonic.
11- Configurar los usuarios y roles que tienen acceso al servidor de Pentaho. Eliminar los usuarios
que vienen por defecto.

IMPORTANTE: Tener en cuenta los siguientes puntos de configuración de seguridad:


http://wiki.pentaho.com/display/ServerDoc2x/Security+Configuration+Checklist

IMPORTANTE: Se presupone que los archivos y directorios de la instalación de pentaho


(/usr/local/pentaho/ hacia adentro), tienen como propietario a un usuario de linux llamado ‘pentaho’.
Hay que crearlo si es necesario, y no cambiar al propietario al editar los archivos.

Instalar el biserver de Pentaho


En esta oportunidad se instalará el biserver 3.8 de Pentaho. Para esto se deben seguir los
siguientes pasos:
1-Descargar del sitio Sourceforge.com el biserver de Pentaho mediante el link
http://sourceforge.net/projects/pentaho/files/Business%20Intelligence%20Server/3.8.0-
stable/biserver-ce-3.8.0-stable.tar.gz

o desde la consola con

wget http://sourceforge.net/projects/pentaho/files/Business%20Intelligence%20Server/3.8.0-
stable/biserver-ce-3.8.0-stable.tar.gz/download

2-Descomprimir el archivo descargado en alguna carpeta del SO (por ejemplo /usr/local/pentaho):

Para descomprimir el archivo y moverlo al directorio /usr/local/pentaho utilizar los siguientes


comandos remarcados en negrita en el prompt de la terminal.

mpierri@minerva-2k9:~/pentaho$ sudo tar xvzf biserver-ce-3.8.0-


stable.tar.g/home/cursor/opt/pentaho

z
mpierri@minerva-2k9:~/pentaho$ sudo mv ./administration-console/ /usr/local/pentaho/
mpierri@minerva-2k9:~/pentaho$ sudo mv ./biserver-ce /usr/local/pentaho/./
tar
Los siguientes directorios deberán verse al descomprimir el archivo:
/usr
/local/
|-- pentaho
| |-- adminstration-console
| |-- biserver-ce

3- Antes de poder iniciar el servidor de Pentaho hay que verificar que la JVM (Java Virtual Machine)

SIU - Datawarehouse 3
esté instaladaintalada y que el JAVA_HOME esté configurado correctamente.
Para verificar que la JVM esté instalada ejecutar desde la consola el comando java -version. Si la
JVM está instalada y el PATH de Java es correcto aparecerá algo como lo siguiente:

java version "1.6.0_20"


Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01, mixed mode)

En caso que la JVM no esté instalada se puede instalar mediante apt-get desde la consola:
sudo apt-get install sun-java6-jre

4- Configurar las variables de entorno de JAVA:


Las variables de entorno de java se pueden setear agregando una línea en el archivo
/etc/environment. Se necesita tener privilegios de root para poder editar el archivo.
En una terminal ingresar el comando sudo gedit /etc/environment. Agregar las siguientes líneas
al archivo:

export JAVA_HOME=/usr/lib/jvm/java-6-sun
export PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME=/usr/lib/jvm/java-6-sun

JAVA_HOME=“/usr/lib/jvm/java-6-sun“ (modificar la ruta de acuerdo a la configuración de la


máquina).
Guargar el archivo y cerrar el editor. Para chequear si la variable está seteada correctamente se
utiliza el comando echo $JA VA_HOME, pero todavía no retornará nada. Para activar la variable
en la sesión actual, se usa el comando source /etc/environment, pero para activar la variable para
todas las sesiones, hay que desloguearse y volver a loguearse nuevamente (no es necesario
reiniciar el sistema).
Info obtenida del libro (pag.27 y 28 - Pentaho Solutions - Roland Bauman)

Modificar la memoria RAM asignada a la JVM


Para incrementar la cantidad de memoria asignada a la JVM del biserver hay que editart el archivo
start-pentaho.sh ubicado en <path pentaho>/biserver-ce y modificar el valor del parámetro -Xmx
como se muestra en el ejemplo siguiente:

export CATALINA_OPTS="-Xms256m -Xmx2048m -XX:MaxPermSize=256m -


Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000"

Cambiar puerto y url


Por defecto, el biserver viene configurado para escuchar en el puerto 8080 y en la url
http://localhost:8080. En caso que quiera o deba modificar estos valores se deben realizar los
siguientes cambios:

Cambiar la configuración de puertos

Acceder al archivo: /usr/local/pentaho/biserver-ce/tomcat/conf/server.xml y buscar las siguientes


líneas:
<-- A "Connector" represents an endpoint by which requests are received and responses are

SIU - Datawarehouse 4
returned. Documentation at : Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
Java AJP Connector: /docs/config/ajp.html APR (HTTP/AJP) Connector: /docs/apr.html Define a
non-SSL HTTP/1.1 Connector on port 8080 →

<Connector URIEncoding="UTF-8" port="8080" protocol="HTTP/1.1" connectionTimeout="20000"


redirectPort="8443" />

Como se ve el puerto está en el 8080. Cambiarlo a gusto, en este caso pondremos 8081. Una vez
guardada la nueva configuración (ojo! es recomendable guardar la configuración anterior, por las
dudas) y reiniciado el servidor, se podrá acceder con el nuevo puerto, por ejemplo:
http://localhost:8081/pentaho
export PATH=$PATH:$JAVA_HOME/bin
Cambiar la URL del servidor

Puede darse el caso de que quieras ponerle un nombre a la dirección y no estar con el "localhost"
siempre.
Para eso, editar el archivo /usr/local/pentaho/biserver-ce/tomcat/webapps/pentaho/WEB-
INF/web.xml y buscar las siguientes líneas:ls
vi

<!-- FullyQualifiedServerUrl is used only in the case of offline content generation and whenever
something need to talk back to the server -->
<context-param>
<param-name>fully-qualified-server-url</param-name>
<param-value>http://localhost/pentaho/</param-value>
</context-param>

Y donde aparece http://localhost/pentaho/, sustituir "localhost" por la IP:Puerto o la dirección


deseada del servidor. Para que los cambios tomen efecto hay que reiniciar el servidor.

Modificar el tiempo de timeout de la sesión de la Consola de Usuario

Por defecto, la Consola de Usuario de Pentaho viene configurada con un tiempo de timeout para la
sesión de 30 minutos.

Modificar el archivo "web.xml" en $BISERVER/tomcat/webapps/pentaho/WEB-INF


Buscar la configuración:
<!-- insert additional servlet mappings -->
<session-config>
<session-timeout>30</session-timeout>
</session-config>

El número es el tiempo de sesión en minutos.


Modificar y reiniciar el BI-Server.

Modificar la pantalla de Login de la consola de Usuario

Si se quiere modificar la pantalla de Login que viene por defecto en la instalación básica de

SIU - Datawarehouse 5
Pentaho para que no aparezca el combo desde el cual se seleccionan los usuarios seguir los pasos
planteados por Prashant Raju en el siguiente link:
http://www.prashantraju.com/2010/02/customising-the-pentaho-user-console-part-1/

Configuración de confianza en la Consola de Administración


Para poder acceder a la consola de administración, que se ejecuta desde la carpeta <PATH
biserver-ce>/administration-console (./start-pac.sh) y corre por defecto en el puerto 8099, desde
fuera del servidor hay que configurar una conexión de confianza entre la Consola de Administración
y el Biserver.
De manera predeterminada, el Biserver confiará en PAC (Pentaho Admin Console) si se accede
desde localhost o 127.0.0.1. “Confiará” significa que toda solicitud de un conjunto de direcciones IP
se asume previamente autenticadas. Previamente autenticada significa que el que realiza la petición
(ej. PAC) se hizo cargo de la autenticación del usuario.
PAC no envíaenvia la contraseña, todo lo que se comunica entre PAC y el Biserver es el nombre del
usuario con el que se ejecuta. Por esto es necesario que el usuario con el que se accede a PAC
exista en el Biserver. Como ejemplo, creamos el usuario dwpentaho que reemplazará al usuario
Admin que viene por defecto:

1- Iniciar el Biserver.
2- Iniciar el PAC.
3- Desde la Consola de Administración, crear un usuario (dwpentaho en el ejemplo).
4- Asignarle rol de administrador al usuario creado.
5- Parar PAC.
6- Parar el Biserver.
7- Editar biserver-ce/tomcat/webapps/pentaho/WEB-INF/web.xml.
a. Buscar TrustedIpAddrs.
b. El param-value inmediatemente inferior a TrustedIpAddrs es una lista separada por coma
de las direcciones IP en las cuales se debe confiar. Agregar la dirección IP del host que está
ejecutando PAC.
8- Editar administration-console/resource/config/console.xml.
a. Buscar platform-username.
b. Reemplazar el valor (por defecto es joe) con el usuario de un administrador (en este
caso es dwpentaho) con el cual el Biserver deberá ejecutar todas las peticiones.
9- Iniciar el Biserver.
10- Iniciar PAC.

La información anterior fue tomada del siguiente link:


http://wiki.pentaho.com/display/ServerDoc2x/Setting+up+trust+between+Administration+Console+and+BI+Server

Arranque automático del servidor Pentaho y la Consola de Administración


Siguiendo la guía del libro Pentaho Solutions - pag. 40 a 42, configuramos los scripts necesarios
para levantar y parar los servicios del BI Server y la Consola de administración en Linux.

Biserver
Hay que crear un script de inicio que inicie el servidor de Pentaho. En este caso, siguiedo la guía

SIU - Datawarehouse 6
del libro se crea el archivo pentaho-biserver.sh que se encuentra en /etc/init.d. (Nota: hay que
tener permisos de root, y hay que usar sudo para copiar o mover el script en esa ubicación.)

--------------------------------------------------------------------------------------------------------------------------
#!/bin/sh
# go to the pentaho home
cd /usr/local/pentaho/biserver-ce
# set up command for pentaho user, set java environment
cmd="sudo -u pentaho JAVA_HOME=/usr/lib/jvm/sun-java6 JAVA_OPTS=-
Djava.awt.headless=true"
case “$1“ in
start)
# run the original pentaho start script
$cmd ./start-pentaho.sh >> pentaho-demo.log &
;;
stop)
# run the original pentaho stop script
$cmd ./stop-pentaho.sh >> pentaho-demo.log &
;;
restart)
$0 stop
$0 start
;;
*)
echo “Usage: $0 {start|stop|restart }“
exit 1
esac
exit 0
--------------------------------------------------------------------------------------------------------------------------

Para usar el script:

shell> cd /etc/init.d
shell> sudo ./pentaho-biserver.sh
Usage: ./pentaho-biserver.sh {start|stop|restart|status}
shell> sudo ./pentaho-biserver.sh start
shell> sudo ./pentaho-biserver.sh stop

En las distribuciones Linux basadas en Debian, incluyendo Ubuntu, se puede utilizar la aplicación
update-rc.d, mediante la cual se setean los links simbólicos, haciendo que el script se ejecute en el
momento que el Servidor arranca, iniciando el servidor de Pentaho ( y parando el servidor de
pentaho cuando se apaga o reinicia el servidor):

shell> create database loading_area;sudo update-rc.d pentaho-biserver.sh defaults

update-rc.d: warning: /etc/init.d/pentaho-biserver.sh missing LSB style header


Adding system startup for /etc/init.d/pentaho-biserver.sh ...
/etc/rc0.d/K20pentaho-biserver.sh -> ../init.d/pentaho-biserver.sh
/etc/rc1.d/K20pentaho-biserver.sh -> ../init.d/pentaho-biserver.sh
/etc/rc6.d/K20pentaho-biserver.sh -> ../init.d/pentaho-biserver.sh

SIU - Datawarehouse 7
/etc/rc2.d/S20pentaho-biserver.sh -> ../init.d/pentaho-biserver.sh
/etc/rc3.d/S20pentaho-biserver.sh -> ../init.d/pentaho-biserver.sh
/etc/rc4.d/S20pentaho-biserver.sh -> ../init.d/pentaho-biserver.sh
/etc/rc5.d/S20pentaho-biserver.sh -> ../init.d/pentaho-biserver.sh

Con la misma aplicación update-rc.d se pueden eliminar un servicio existente, usando la línea:

shell> sudo update-rc.d -f pentaho-biserver.sh remove

Consola de administración
Siguiendo los mismos pasos anteriores se crea un script para iniciar y parar la Consola de
Administración de Pentaho y se agrega como servicio en el servidor Linux. El script genera se llama
pentaho-adminConsole.sh y se encuentra en /etc/init.d/:

pentaho-adminConsole.sh
-----------------------------------------------------------------------------------------------------------------------
#!/bin/sh
# Script para iniciar autimaticamente la consola de administracion de Pentaho
# MPIERRI 20110705
# ir a la carpeta de la consola de administracion
cd /usr/local/pentaho/administration-console
# configurar al entorno de JAVA
cmd="sudo -u pentaho JAVA_HOME=/usr/lib/jvm/sun-java6 JAVA_OPTS=-
Djava.awt.headless=true"
case "$1" in
start)
# ejecutar el script original de inicio de la consola de administracion
$cmd ./start-pac.sh >> pentaho-demo.log &
;;
stop)
# ejecutar el script original para detener la consola de administracion
$cmd ./stop-pac.sh >> pentaho-demo.log &
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart }"
exit 1
esac
exit 0
-----------------------------------------------------------------------------------------------------------------------

shell> sudo update-rc.d pentaho-adminConsole.sh defaults 21


(El 21 indica el número de secuencia en que se va a ejecutar y se pone en 21 para que se ejecute
luego del Biserver. Por defecto si no se especifica se le asigna 20)

update-rc.d: warning: /etc/init.d/pentaho-adminConsole.sh missing LSB information

SIU - Datawarehouse 8
update-rc.d: see <http://wiki.debian.org/LSBInitScripts>
Adding system startup for /etc/init.d/pentaho-adminConsole.sh ...
/etc/rc0.d/K20pentaho-adminConsole.sh -> ../init.d/pentaho-adminConsole.sh
/etc/rc1.d/K20pentaho-adminConsole.sh -> ../init.d/pentaho-adminConsole.sh
/etc/rc6.d/K20pentaho-adminConsole.sh -> ../init.d/pentaho-adminConsole.sh
/etc/rc2.d/S20pentaho-adminConsole.sh -> ../init.d/pentaho-adminConsole.sh
/etc/rc3.d/S20pentaho-adminConsole.sh -> ../init.d/pentaho-adminConsole.sh
/etc/rc4.d/S20pentaho-adminConsole.sh -> ../init.d/pentaho-adminConsole.sh
/etc/rc5.d/S20pentaho-adminConsole.sh -> ../init.d/pentaho-adminConsole.sh

Configuración de Pentaho en PostgreSQL


La idea es configurar Pentaho para que la base del repositorio de de usuarios y permisos esté en
base de datos PostgresSQL y no siga utilizando la base Hypersonic que trae por defecto.
Esto se recomienda para la instalación de Pentaho en un entorno de producción, mientras
que en un entorno de desarrollo o testing se puede utilizar la configuración que viene por
defecto en Pentaho.
Para esto hay que seguir los pasos indicados en la guía de Prashant Raju (http://goo.gl/Y3bWJ)
que se describen abajo y tiene algunas modificaciones respecto a esa versión:

Importante!
Es necesario descargar el driver JDBC para PostgreSQL. Para esto ingresar al sitio PostgreSQL
JDBC Driver downloads y descargar el driver de acuerdo a la versión de Java instalada.
Después de descargar el archivo postgresql-8.x-xxx.jdbcx.jar moverlo dentro del
directorio /biserver-ce/tomcat/lib/.

Extraer el paquete de Scripts SQL PostgreSQL 8.x.x Script Pack


Después descargar el paquete de scripts “Pentaho_3.6.0_PostgreSQL_SQL_Pack.zip” de la
siguiente url (
https://docs.google.com/file/d/0B9Jmocc0fj_EOTVjYWYyOGEtMGI3Ny00N2I5LTg1NmUtY2IyMWE
1ZmQwMTkw/edit ) hay que descomprimir los archivos en una carpeta temporal. Son 5 scripts SQL:

1_create_repository_postgresql.sql
Crea la base Hibernate
2_create_quartz_postgresql.sql
Crea la base Quartz
3_create_sample_datasource_postgresql.sql
Carga el datasource de ejemplo en la base Hibernate
4_load_sample_users_postgresql.sql
Crea los usuarios y roles demo en la base Hibernate
5_sample_data_postgresql.sql
Crea la base de ejemplo
Los scripts deben ser corridos en el orden en que aparecen listados. Leer estos scripts usando la
consola de PostgreSQL.

Cargar los scripts SQL


Antes de empezar asegurarse de dejar todos los scripts SQL en el directorio en el cual vas a
loguearte dentro de la consola de PostgreSQL, en este ejemplo es /home/pentaho/tmp/.

Ejecutar los comandos siguientes que se encuentran en negrita uno después del otro:

SIU - Datawarehouse 9
root@terminal:/opt/pentaho/# psql --username=postgres -f
1_create_repository_postgresql.sql
Password for user postgres:
...output
Password for user hibuser: [ingresar "password"]
root@terminal:/opt/pentaho/# psql --username=postgres -f
2_create_quartz_postgresql.sql
Password for user postgres:
...output
Password for user pentaho_user: [ingresar "password"]
root@terminal:/opt/pentaho/# psql --username=postgres -f
3_create_sample_datasource_postgresql.sql
Password for user postgres:
Password for user hibuser: [ingresar "password"]
...output
root@terminal:/opt/pentaho/# psql --username=postgres -f
4_load_sample_users_postgresqlsql
Password for user postgres:
Password for user hibuser: [ingresar "password"]
...output
root@terminal:/opt/pentaho/# psql --username=postgres -f
5_sample_data_postgresql.sql
Password for user postgres:
...output

Ahora abrir la consola de postgres y ejecutar el siguiente comando (en negrita) para ver si se
crearon correctamente las bases hibernate, quartz y sampledata:

psql> show databases;


o
psql> \l

según la versión de postgres.

Solo como referencia, aca está el listado de tablas y bases que deberían haberse creado luego de
ejecutar los scripts del paquete PostgreSQL 8.x.x SQL Script:

● hibernate*
○ authorities
○ datasource
○ granted_authorities
○ users
● quartz
○ qrtz_blob_triggers
○ qrtz_calendars
○ qrtz_cron_triggers
○ qrtz_fired_triggers
○ qrtz_job_details
○ qrtz_job_listeners
○ qrtz_locks
○ qrtz_paused_trigger_grps

SIU - Datawarehouse 10
○ qrtz_scheduler_state
○ qrtz_simple_triggers
○ qrtz_trigger_listeners
○ qrtz_triggers
● sampledata
○ customer_w_ter
○ customers
○ department_managers
○ dim_time
○ employees
○ offices
○ orderdetails
○ orderfact
○ orders
○ payments
○ products
○ quadrant_actuals
○ trial_balance

* Hibernate creará nuevas tablas dentro de la base hibernate después de que se inicie por primera vez el Pentaho BI Platform.

Configurando la seguridad JDBC


Esta sección describe cómo configurar la seguridad JDBC en el Pentaho BI Platform para utilizar el
servidor PostgreSQL, esto significa que ahora el Pentaho apuntará a la base hibernate en el
servidor PostgreSQL en vez de la base HSQL que viene por defecto.

NOTA↴

Si ya se cuenta con un usuario al cual se le quiere dar permisos de acceso a la base


hibernate en vez del usuario hibuser, se deben modificar todas las ocurrencias de hibuser /
password en esta sección.

applicationContext-spring-security-jdbc.xml
El archivo se encuentra en el directorio pentaho-solutions/system/ .

Una vez abierto el archivo buscar el siguiente código:


<!-- This is only for Hypersonic. Please update this section for any other
database you are using -->
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="org.hsqldb.jdbcDriver" />
<property name="url"
value="jdbc:hsqldb:hsql://localhost:9001/hibernate" />
<property name="username" value="hibuser" />
<property name="password" value="password" />
</bean>

Modificar las secciones remarcadas de manera que queden similar a esto:

SIU - Datawarehouse 11
<!-- This is only for Hypersonic. Please update this section for any other
database you are using -->
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="org.postgresql.Driver" />
<property name="url"
value="jdbc:postgresql://localhost:5432/hibernate" />
<property name="username" value="hibuser" />
<property name="password" value="password" />
</bean>

applicationContext-spring-security-hibernate.properties
El archivo se encuentra en el directorio pentaho-solutions/system/ .

Una vez abierto el archivo buscar el siguiente código:


jdbc.driver=org.hsqldb.jdbcDriver
jdbc.url=jdbc:hsqldb:hsql://localhost:9001/hibernate
jdbc.username=hibuser
jdbc.password=password
hibernate.dialect=org.hibernate.dialect.HSQLDialect
Modificar las secciones remarcadas de manera que queden similar a esto:
jdbc.driver=org.postgresql.Driver
jdbc.url=jdbc:postgresql://localhost:5432/hibernate
jdbc.username=hibuser
jdbc.password=password
hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect

hibernate-settings.xml
El archivo se encuentra en el directorio pentaho-solutions/system/hibernate/ .

Una vez abierto el archivo buscar el siguiente código:


<config-file>system/hibernate/hsql.hibernate.cfg.xml</config-file>
Modificar las secciones remarcadas de manera que queden similar a esto:
<config-file>system/hibernate/postgresql.hibernate.cfg.xml</config-
file>

postgresql.hibernate.cfg.xml
El archivo se encuentra en el directorio pentaho-solutions/system/hibernate/ .

<property
name="connection.url">jdbc:postgresql://localhost:5432/hibernate</property>

<property name="connection.username">hibuser</property>
<property name="connection.password">password</property>

Modificar lo que está en negrita.

Configurando Hibernate and Quartz


Hibernate y Quartz necesitan específicamente utilizar las bases hibernate y quartz que se
crearon en el servidor PostgreSQL. Para esto, hay que hacer algunas modificaciones al archivo
context.xml ubicado en el directorio /tomcat/webapps/pentaho/META-INF/ .

SIU - Datawarehouse 12
NOTA↴

Si ya se cuenta con un usuario al cual se le quiere dar permisos de acceso a la base


hibernate en vez del usuario hibuser, se deben modificar todas las ocurrencias de hibuser /
password en esta sección. Esto mismo se aplica a pentaho_user / password usado para
conectarse a la base Quartz.

context.xml
Una vez abierto el archivo se ve el siguiente pedazo de código:
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/pentaho" docbase="webapps/pentaho/">
<Resource name="jdbc/Hibernate" auth="Container" type="javax.sql.DataSource"
factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxActive="20"
maxIdle="5"
maxWait="10000" username="hibuser" password="password"
driverClassName="org.hsqldb.jdbcDriver"
url="jdbc:hsqldb:hsql://localhost/hibernate"
validationQuery="select count(*) from INFORMATION_SCHEMA.SYSTEM_SEQUENCES"
/>
<Resource name="jdbc/Quartz" auth="Container" type="javax.sql.DataSource"
factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxActive="20"
maxIdle="5"
maxWait="10000" username="pentaho_user" password="password"
driverClassName="org.hsqldb.jdbcDriver"
url="jdbc:hsqldb:hsql://localhost/quartz"
validationQuery="select count(*) from INFORMATION_SCHEMA.SYSTEM_SEQUENCES"/>
</Context>
Modificar las partes en negrita de manera que queden similar a esto:
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/pentaho" docbase="webapps/pentaho/">
<Resource name="jdbc/Hibernate" auth="Container" type="javax.sql.DataSource"
factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxActive="20"
maxIdle="5"
maxWait="10000" username="hibuser" password="password"
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.apache.commons.dbcp.BasicDataSourceFactory" maxActive="20"
maxIdle="5"
maxWait="10000" username="pentaho_user" password="password"
driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://localhost:5432/quartz"
validationQuery="select 1"/>
</Context>

quartz.properties
Otro cambio que es necesario hacer para que Postgres 8.x.x funcione con Quartz es abrir el archivo
quartz.properties ubicado en el directorio /pentaho-solutions/system/quartz/ .

Dentro del archivo, buscar la configuración de Job Store:

SIU - Datawarehouse 13
# Job Store
org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX

#_replace_jobstore_properties

org.quartz.jobStore.misfireThreshold = 60000
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.
StdJDBCDelegate
org.quartz.jobStore.useProperties = false
org.quartz.jobStore.dataSource = myDS
org.quartz.jobStore.tablePrefix = QRTZ_
org.quartz.jobStore.isClustered = false

Modificar de acuerdo a lo que se encuentra en negrita:

# Job Store
org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX

#_replace_jobstore_properties

org.quartz.jobStore.misfireThreshold = 60000
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.
jdbcjobstore.PostgreSQLDelegate
org.quartz.jobStore.useProperties = false
org.quartz.jobStore.dataSource = myDS
org.quartz.jobStore.tablePrefix = QRTZ_
org.quartz.jobStore.isClustered = false

pentaho.xml
Modificar el archivo pentaho.xml ubicado en el directorio ..\biserver-
ce\tomcat\conf\Catalina\localhost y configurar los parámetros para que se conecte a la base
postgreSQL. Debe quedar igual que en el archivo context.xml que se configuró anteriormente.

Configurando Apache-Tomcat Server


Formatted: Normal, Widow/Orphan control
Para configurar el servidor Apache-Tomcat de Pentaho, la mayoría de los cambios se hacen en el
archivo web.xml que se encuentra en el directorio/tomcat/webapps/pentaho/WEB_INF/ . Los
siguiente items y otros se pueden configurar en Pentaho:

● ubicación de pentaho-solutions
● URL
● Deshabilitar el arranque de la base HSQL
● TrustedIpAddrs (opcional - para la consola de usuario y si se accede al servidor de manera
remota)

Si las siguientes configuraciones le parecen correctas en Biserver de Pentaho no es necesario


hacer ningún cambio:

SIU - Datawarehouse 14
● directorio pentaho-solutions/ ubicado en el directorio /<path
pentaho>/biserver-ce/
● URL para acceso a la consola de usuario de Pentaho: http://localhost:8080/pentaho

solution-path
El parámetro solution-path le permite al biserver de Pentaho saber ubicar el
directorio pentaho-solutions. Por defecto se setea en el directorio /biserver-
ce/pentaho/.

Si decidió utilizar un servidor Apache-Tomcat existente (o movió el directorio pentaho-solution)


necesitará apuntar este a donde se encuentra el directorio pentaho-solutions. En este ejemplo
el directorio pentaho-solutions se encuentra en /usr/local/pentaho/, y el fragmento de
código del solution-path se ve como:

<context-param>
<param-name>solution-path</param-name>
<param-value>/usr/local/pentaho/pentaho-solutions/</param-value>
</context-param>

fully-qualified-server-url
Si no tiene problemas en acceder a la consola de usuario mediante la URL
http://localhost:8080/pentaho no es necesario modificar este parámetro, sin embargo si se quiere
que otros accedan al sitio de Pentaho (de manera remota o por la red) es necesario modificar este
parámetro.

Abrir el archivo y buscar el siguiente código


<param-value>http://localhost:8080/pentaho/</param-value>
Modificar lo que está remarcado por la IP o nombre de dominio de la PC o servidor de manera que
quede como esto:
<param-value>http://www.prashantraju.com:8080/pentaho/</param-value>
or
<param-value>http://192.168.1.10:8080/pentaho/</param-value>

Deshabilitar el arranque de la base HSQL


Por defecto con la versión 3.8 la base HSQL se inicia automáticamente - para prevenir que esto
suceda buscar los siguientes bloques de código:
<context-param>
<param-name>hsqldb-databases</param-name>
<param-
value>sampledata@../../data/hsqldb/sampledata,hibernate@../../data/hsqldb/hi
bernate,quartz@../../data/hsqldb/quartz</param-value>
</context-param>

<listener>
<listener-class>org.pentaho.platform.web.http.context.Hsqldb
StartupListener</listener-class>
</listener>
Se puede eliminar el siguiente código y simplemente comentarlo de manera que quede como:
<!--
<context-param>
<param-name>hsqldb-databases</param-name>

SIU - Datawarehouse 15
<param-
value>sampledata@../../data/hsqldb/sampledata,hibernate@../../data/hsqldb/hi
bernate,quartz@../../data/hsqldb/quartz</param-value>
</context-param>
-->
<!--
<listener>
<listener-class>org.pentaho.platform.web.http.context.Hsqldb
StartupListener</listener-class>
</listener>
-->

TrustedIpAddrs
Si se quiere acceder remotamente al servidor Apache-Tomcat es necesario agregar la IP del
servidor Apache-Tomcat a la lista.

Abrir el archivo y encontrar el siguiente código:

<param-name>TrustedIpAddrs</param-name>
<param-value>127.0.0.1</param-value>

Modificar las partes remarcadas y agregar la IP o el dominio de la PC o el servidor de manera que


quede similar a esto:

<param-name>TrustedIpAddrs</param-name>
<param-value>127.0.0.1,[your_ip_address]</param-value>

Esto le permitirá a la Consola de administración de Pentaho (PAC) hacer un ping al servidor para
verificar si se encuentra activo o inactivo. No es necesario hacer esto si el servidor esta hosteado
localmente.
Otros parámetros
también se puede modificar el idioma local y el país en el archivo web.xml file, los cambios a estos
parámetros se explican por si solos.

Configurando SMTP (mail server)


Para configurar el servidor de Pentaho para usar un servidor SMTP (servidor de correo) para el
envio de reportes por email, etc hay que modificar el archivo /pentaho-
solutions/system/smtp-email/email_config.xml file.

Estos son los parámetros que pueden ser configurados para tener soporte SMTP:

● mail.smtp.host
○ Dirección del servidor de email SMTP Ej: smtp.gmail.com
● mail.smtp.port
○ Puerto del servidor SMTP Ej: para GMail es el 587
● mail.transport.protocol
○ El protocolo de transporte para acceder al servidor de email. Generalmente es smtp
Ej: para GMail es smtps
● mail.smtp.starttls.enable
○ Si el servidor SMTP server usa autenticación TLS setear esto como true Ej: para

SIU - Datawarehouse 16
GMail es true
● mail.smtp.auth
○ Setear en true si el servidor de email requiere la autenticación al enviar.
● mail.smtp.ssl
○ Es true si el servidor de email requiere un conexión SSL Ej: para GMail es true
● mail.debug
○ Salida de información de debug de la API JavaMail
● mail.pop3
○ No se usa.
● mail.from.default
○ La dirección de origen “from” que envia mails desde el servidor de Pentaho Ej:
serverpentaho@gmail.com
● mail.userid
○ Nobre de usuario usado para autenticar con el servidor SMTP, mail.smtp.auth
debe estar seteado en true.
● mail.password
○ Contraseña que se usa para autenticar con el servidor SMTP, mail.smtp.auth debe
estar seteado en true.

Este es un ejemplo del archivo smtp-email.xml configurado GMail:

<email-smtp>
<properties>
<mail.smtp.host>smtp.gmail.com</mail.smtp.host>
<mail.smtp.port>587</mail.smtp.port>
<mail.transport.protocol>smtps</mail.transport.protocol>
<mail.smtp.starttls.enable>true</mail.smtp.starttls.enable>
<mail.smtp.auth>true</mail.smtp.auth>
<mail.smtp.ssl>true</mail.smtp.ssl>
<mail.smtp.quitwait>false</mail.smtp.quitwait>
</properties>
<mail.pop3></mail.pop3>
<mail.from.default>pentahoadmin@gmail.com</mail.from.default>
<mail.userid>pentahoadmin@gmail.com</mail.userid>
<mail.password>password</mail.password>
</email-smtp>

Configurando Publicación (Publishing)


Por defecto la publicación no está habilitada, para habilitarlo hay que especificar una contraseña
que será usada al momento de publicar. Para configurarlo hay que editar el archivo
publisher_config.xml ubicado en el directorio /pentaho-solutions/system/, y una vez
abierto buscar el siguiente código:

<publisher-config>
<publisher-password></publisher-password>
</publisher-config>

Ingresar la contraseña deseada entre los tags publisher-password (esta contraseña será el
mismo para todos los usuarios) de manera que quede parecido al ejemplo de abajo:

SIU - Datawarehouse 17
<publisher-config>
<publisher-password>micontraseña</publisher-password>
</publisher-config>

Desde este momento, cualquier usuario que intente publicar contenido en el servidor de Pentaho
tendrá que especificar esta contraseña.

Configurando la Consola de Administración


Para configurar la Consola de Administración con PostgreSQL es necesario descargar el driver
JDBC para PostgreSQL. Para esto ingresar al sitio PostgreSQL JDBC Driver downloads y
descargar el driver de acuerdo a la versión de Java instalada.

Después de descargar el archivo postgresql-8.4-701.jdbcx.jar moverlo dentro del


directorio /administration-console/jdbc/.

SIU - Datawarehouse 18
Iniciando el servidor de Pentaho
El servidor de Pentaho es una aplicación web que corre en el servidor Apache-Tomcat.Para iniciar
en servidor Apache-Tomcat hay que ejecutar el script start-pentaho.sh ubicado en el directorio
/biserver-ce/

Luego se puede acceder mediante el navegador en la url: http://localhost:8080/pentaho or


http://[tu_dominio_o_ip]:8080/pentaho. Si el servidor de Pentaho se inició
correctamente debería ver la siguiente pantalla de bienvenida:

Luego de loguearse y ejecutar un reporte de ejemplo de la carpeta de las soluciones de Steel


Wheels:

SIU - Datawarehouse 19
Iniciando la Consola de Administración
Para iniciar la Consola de Administración hay que ejecutar el archivo start-pac.sh file que se
encuantra en el directorio /pentaho/administration-console/ :

user@terminal:/opt/pentaho/administration-console# start-pac.sh
DEBUG: Using JAVA_HOME
DEBUG: _PENTAHO_JAVA_HOME=/lib/jvm/java-6-sun/
DEBUG: _PENTAHO_JAVA=/lib/jvm/java-6-sun/
2010-01-05 16:27:17.824::INFO: Logging to STDERR via
org.mortbay.log.StdErrLog
05/01/2010 4:27:18 PM org.pentaho.pac.server.JettyServer startServer
INFO: Console is starting
2010-01-05 16:27:18.118::INFO: jetty-6.1.2
2010-01-05 16:27:38.672::INFO: Started SocketConnector @ 0.0.0.0:8099
05/01/2010 4:27:38 PM org.pentaho.pac.server.JettyServer startServer
INFO: Console is now started. It can be accessed usinghttp://D119940:8099 or
http://161.117.117.40:8099

SIU - Datawarehouse 20
Ahora se podrá acceder mediante la url http://localhost:8099/ o la IP especificada en la salida. Para
ingresar hay que especificar el usuario y contraseña que por defecto son "admin" y "password". Una
vez logueado correctamente se verá la siguiente pantalla:

Configuración de la conexión JNDI

Una vez configurado todo para que funcione en la base de PostgreSQL hay que crear la conexión
siu_dw para que se conecte Pentaho a la base siu_dw. Para eso, desde la Consola de
Administración hay que crear una nueva conexión con los parámetros correspondientes al servidor
de PostgreSQL:

SIU - Datawarehouse 21
Monitorear lala actividadla d del Apache-Tomcat en
Pentaho CE

La versión Community de Pentaho no cuenta con la posibilidad de monitorear el servidor, para esto
se puede utilizar algún software de monitoreo general de aplicaciones en Apache Tomcat, como por
ejemplo Lambda Probe. Con esta aplicación se puede monitoriear las sesiones abiertas en el
apache, la memoria consumida por la JVM, el historial de uso de memoria, etc.

Los pasos para instalar "Probe" en el servidor de Pentaho son muy simples (tomados de
http://www.lambdaprobe.org/d/installation.shtml).

1- Descargar el arhivo Lamda Probe .war


2- Bajar el servidor de Pentaho.
3- Copiar el archivo probe.war en <biserver_home>/tomcat/webapps
4- Configuración de seguridad: Lambda requiere de la declaración de cuatro roles de seguridad:
manager, poweruser, poweruserplus y probeuser. Por defecto los roles de Tomcat se declaran en
<biserver_home>/tomcat/conf/tomcat-users.xml.

manager: Este rol tiene acceso total a las funcionalidades de Lambda Probe.
poweruser: Este rol tiene los mismos provilegios que manager excepto para deployar y eliminar
aplicaciones y monitorear Tomcat mediante la opción "quick check".
poweruserplus: Este rol tiene los mismos privilegios que el poweruser incluido la posibilidad de
reiniciar la JVM.
probeuser: Es el rol con menos privilegios de los tres y está restringido a funcionalidades de solo
lectura. Características como parar/iniciar aplicaciones, reiniciar datasources no están disponibles.

SIU - Datawarehouse 22
5- Iniciar el servidor de Pentaho.
6- Ingresar a Lambda Probe por la url http://<url_biserver>/probe ej: http://localhost/probe mediante
alguno de los usuarios definidos en el archivo tomcat-users.xml.

Nota: Para poder ver los datos de la opción “System information” hay que agregar la opción (-
Dcom.sun.management.jmxremote) en CATALINA_OPTS.
Editar el archivo /biserver-ce/start-pentaho.sh y agregar la opción:
export CATALINA_OPTS="-Xms512m -Xmx1024m -XX:MaxPermSize=256m -
Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -
Dcom.sun.management.jmxremote"

Ejemplo de definición de los roles en el archivo tomcat-users.xml

<?xml version='1.0' encoding='utf-8'?>


<tomcat-users>
<role rolename="manager"/>
<role rolename="poweruser"/>
<role rolename="poweruserplus"/>
<role rolename="probeuser"/>
<user username="manager" password="manager" roles="manager"/>
<user username="poweruser" password="poweruser" roles="poweruser"/>
<user username="poweruserplus" password="poweruserplus" roles="poweruserplus"/>
<user username="probeuser" password="probeuser" roles="probeuser"/>
</tomcat-users>

SIU - Datawarehouse 23
Instalación de las soluciones SIU en Pentaho
Una vez que el servidor y la base de datos se encuentran configurados se prosigue con la
instalación de las soluciones SIU en pentaho. Esta solución consta de los cubos, vistas, reportes y
tableros de los distintos sistemas del SIU (Guaraní, Pilagá y Mapuche).
Dentro del paquete que se distribuye con las soluciones del SIU en Pentaho se encuentra la
documentación de instalación, los procesos ETL de carga de datos de los diferentes sistemas a la
base del datawarehouse.

El paquete de soluciones SIU en Pentaho se puede descargar desde la Extranet del SIU
(http://extranet.siu.edu.ar/) ingresando con su usuario y contraseña. El mismo se encuentra ubicado
en Herramientas y servicios -> Repositorios -> Navegador de archivos

Luego en SIU-DW -> DataWarehouse Pentaho Versiones - Universidad (versión completa para
Universidades)
o en SIU-DW -> DataWarehouse Pentaho Versiones - Facultades (versión para Facultades)

Luego deberá descargar el archivo .rar de la última versión disponible: en el caso de las
Universidades (SIU-DW-Pentaho-v1.0.0beta-20120507.rar) y en el caso de la Facultades (Pentaho-
Facultad-v1.0.0beta20120707.rar). Luego al descomprimirlo, verá que contiene las siguientes
carpetas:

/documentacióndocumentacion: Contiene la documentación de instalación de Pentaho (carpeta


“compartido”) y de carga de los datos para cada uno de los sistemas.
/etl: Contiene los procesos de Kettle - PDI para realizar la carga de los datos de los sistemas en la
base del datawarehouse.
/pentaho-solutions/siu: Contiene los cubos, vistas, reportes y tableros de los diferentes sistemas.

Atención:
Para comenzar con la instalación de las soluciones SIU, leer con detenimiento el documento
“Instalacion soluciones SIU en Pentaho.txt” que se encuentra en la carpeta
/documentacióndocumentacion.

Importante:
● Recordar cargar loas cubos en el archivo datasources.xml para que estén disponibles en
“Nueva Vista de Análisis” dentro de la Consola de Usuario de Pentaho. Ver (Paso 2:
Registrar los cubos en la lista de Datasources de Pentaho) en el archivo
documentacióndocumentacion/compartido/Instalacion soluciones SIU en Pentaho.txt

● Refrescar la Cache del Repositorio de Pentaho: Para que las carpetas copiadas en

SIU - Datawarehouse 24
pentaho-solutions se actualicen en el servidor hay que refrescar la cache del repositorio
mediante la Consola de Usuario (Herramientas -> Actualizar -> Actualizar el cache del
repositorio)

o sino mediante la Consola de Administración (Administration -> Services -> Solution Repository
“Refresh”). En ambos casos debe loguearse con un usuario que tenga permisos de administrador.

Formatted: Centered

● Instalar los componentes de Pentaho CDE (Community Dashboard Editor) para que
funiconen los tableros (dashboards). Ver (Paso 4: Instalación de Pentaho CDE
(Community Dashboard editor) en el archivo documentacion/compartido/ Instalacion
soluciones SIU en Pentaho.txt

Carga de datos en la base del datawarehouse (siu_dw)

Pentaho requiere que los datos que se van a consultar estén almacenados en una base de datos,
por eso desde el SIU se diseñó una base de datos con un formato especial para datawarehouse la
cual hay que cargar mediante los procesos desarrollados con la herramienta Pentaho PDI
(conocida también como Kettle). Esta herramienta forma parte de la Suite de Pentaho y se puede
descargar desde http://sourceforge.net/projects/pentaho/files/Data%20Integration/4.2.1-stable/ (pdi-
ce-4.2.1-stable.tar.gz).

Los pasos a seguir para cargar los datos de los diferentes sistemas que se quieran analizar con
Pentaho se encuentran documentados en el paquete de soluciones del SIU en Pentaho en la
carpeta correspondiente:

SIU - Datawarehouse 25
Guaraní: /documentacion/guarani/instrucciones_cargar_siu_dw_guarani.txt
Pilagá: documentacion/pilaga/instrucciones_cargar_siu_dw_pilaga.txt
Mapuche: /documentacion/mapuche/instrucciones_cargar_siu_dw_mapuche.txt

Importante:
Cada vez que cargue nuevos datos a la base siu_dw deberá refrescar la “cache de Mondrian”
mediante la Consola de Usuario (Herramientas -> Actualizar -> Vaciar el cache de esquemas de
Mondrian) o mediante la Consola de Administración (Administration -> Services -> Refresh Bi
Server -> Mondrian Cache). Una vez realizado este paso podrá ver los nuevos datos en los cubos
que consulte, de otra manera seguirá viendo los datos anteriores a la actualización de la base.

SIU - Datawarehouse 26

Potrebbero piacerti anche