Date post: | 31-Dec-2015 |
Category: |
Documents |
Upload: | jose-l-qar |
View: | 113 times |
Download: | 9 times |
Instalación Pentaho biserver 3.8 en Linux y
base PostgreSQL
Consorcio - SIU
Fecha actualización: 11/05/2012
Importante: Hay una nueva guía de instalación en la Wikihttp://repositorio.siu.edu.ar/trac/dw_pentaho/wiki/WikiStart
ContenidoIntroducción
Requerimientos mínimos de Hardware y Software
Instalación del BI Server
Listado de tareas involucradas
Instalar el biserver de Pentaho
Modificar la memoria RAM asignada a la JVM
Cambiar puerto y url
Modificar el tiempo de timeout de la sesión de la Consola de Usuario
Modificar la pantalla de Login de la consola de Usuario
Configuración de confianza en la Consola de Administración
Arranque automático del servidor Pentaho y la Consola de Administración
Biserver
Consola de administración
Configuración de Pentaho en PostgreSQL
Extraer el paquete de Scripts SQL PostgreSQL 8.x.x Script Pack
Cargar los scripts SQL
Configurando la seguridad JDBC
applicationContext-spring-security-jdbc.xml
applicationContext-spring-security-hibernate.properties
hibernate-settings.xml
postgresql.hibernate.cfg.xml
Configurando Hibernate and Quartz
context.xml
quartz.properties
pentaho.xml
Configurando Apache-Tomcat Server
solution-path
fully-qualified-server-url
Deshabilitar el arranque de la base HSQL
TrustedIpAddrs
Configurando SMTP (mail server)
SIU - Datawarehouse 1
Configurando Publicación (Publishing)
Configurando la Consola de Administración
Iniciando el servidor de Pentaho
Iniciando la Consola de Administración
Configuración de la conexión JNDI
Monitorear la actividad del Apache-Tomcat en Pentaho CE
Instalación de las soluciones SIU en Pentaho
Carga de datos en la base del datawarehouse (siu_dw)
Introducción
Este documento tiene como objetivo guiar al usuario en la instalación y configuración de un
servidor de Pentaho, en especial el biserver 3.8, en la ditribución Ubuntu de Linux.
Además, se detallan los pasos para instalar el repositorio en base de datos PostgreSQL y la
puesta en funcionamiento de las soluciones SIU.
Requerimientos mínimos de Hardware y Software
Para realizar una instalación básica recomendamos contar con al menos lo siguiente:
Software:
S.O: Ubuntu o Debian (Probados por el SIU)
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):
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- 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.
3- 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.
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 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.
SIU - Datawarehouse 2
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 utiizar 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.gz
mpierri@minerva-2k9:~/pentaho$ sudo mv ./administration-console/ /usr/local/pentaho/
mpierri@minerva-2k9:~/pentaho$ sudo mv ./biserver-ce /usr/local/pentaho/
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) esté intalada 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:
SIU - Datawarehouse 3
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
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 $JAVA_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
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" />
SIU - Datawarehouse 4
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
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:
<!-- 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
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/
SIU - Datawarehouse 5
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 dese 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 envia
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+Ser
ver
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 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
SIU - Datawarehouse 6
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> 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
SIU - Datawarehouse 7
/etc/rc1.d/K20pentaho-biserver.sh -> ../init.d/pentaho-biserver.sh
/etc/rc6.d/K20pentaho-biserver.sh -> ../init.d/pentaho-biserver.sh
/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
SIU - Datawarehouse 8
(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
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_EOTVjYWYyOGEtMGI3Ny00N2I5LTg1NmUtY2Iy
MWE1ZmQwMTkw/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
SIU - Datawarehouse 9
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:
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
SIU - Datawarehouse 10
○ 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
○ 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
SIU - Datawarehouse 11
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:
<!-- 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-f
ile>
Modificar las secciones remarcadas de manera que queden similar a esto:
<config-file>system/hibernate/postgresql.hibernate.cfg.xml</co
nfig-file>
postgresql.hibernate.cfg.xml
El archivo se encuentra en el directorio pentaho-solutions/system/hibernate/ .
<property
SIU - Datawarehouse 12
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/ .
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"
SIU - Datawarehouse 13
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:
# 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
SIU - Datawarehouse 14
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
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:
● 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
SIU - Datawarehouse 15
<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@../../d
ata/hsqldb/hibernate,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>
<param-value>sampledata@../../data/hsqldb/sampledata,hibernate@../../d
ata/hsqldb/hibernate,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
SIU - Datawarehouse 16
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 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:
● 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>
SIU - Datawarehouse 17
<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>[email protected]</mail.from.default>
<mail.userid>[email protected]</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:
<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 la actividad 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.
SIU - Datawarehouse 22
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.
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:
/documentacion: 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
/documentacion.
Importante:
● Recordar cargar las cubos en el archivo datasources.xml para que estén
disponibles en “Nueva Vista de Análisis” dentro de la Consola de Usuario de
SIU - Datawarehouse 24
Pentaho. Ver (Paso 2: Registrar los cubos en la lista de Datasources de
Pentaho) en el archivo documentacion/compartido/Instalacion soluciones SIU
en Pentaho.txt
● Refrescar la Cache del Repositorio de Pentaho: Para que las carpetas copiadas
en 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.
● 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
SIU - Datawarehouse 25
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:
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