Instalación y configuración de la plataforma BI de Pentaho.

Con la ultima versión estable de la plataforma BI descargada de la web de Pentaho (la 3.5.2), y siguiendo las instrucciones de Prashant Raju para esta versión en la plataforma Windows utilizando MySql, realizamos la instalación y configuración de nuestro sistema realizando los siguientes pasos:

1) Requisitos previos: maquina virtual Java y la base de datos MySQL (u otra de las soportadas).

Para poder ejecutar la plataforma de BI de Pentaho es necesario disponer de una máquina virtual Java instalada en el equipo donde vamos a trabajar. Pentaho recomienda la versión 1.5 de Sun JRE. Con versiones anteriores no funciona y la 1.6 no esta oficialmente soportada (es la que tengo instalada yo), aunque si funciona.

Para ver la versión instalada, ejecutaremos el comando: java  -version. En el caso de no disponer de la máquina, podemos descargarla en la web de Sun.

A continuación comprobaremos que la variable de entorno JAVA_HOME apunte al directorio donde tenemos instalado Java. Igualmente, la variable PATHtambién debera apuntar al directorio de ejecutables de la instalación de Java. En mi caso, el valor de las variables será el siguiente:

JAVA_HOME   c:\Program Files\Java\jdk1.6.0_17
PATH        c:\Program Files\Java\jdk1.6.0_17\bin;.....

Para configurar las variables, lo realizaremos desde Propiedades del Sistema, Variables de Entorno.

Con respecto a MySQL, en el caso de que no lo tengamos instalado en nuestra máquina, lo descargaremos de la web y realizaremos la instalación según las instrucciones que nos proporcionan en su portal de documentación.

2) Descomprimir los ficheros de la plataforma.

Seleccionamos una carpeta (por ejemplo c:\pentaho), y en ella vamos a descomprimir el fichero Zip que nos hemos bajado de la web. Tras el proceso, tendremos dos carpetas diferenciadas, llamadas administration-console y biserver-ce. La primera carpeta alberga los ficheros de la plataforma de administración, que utilizamos para configurar y administrar el servidor BI (utiliza Jetty). La segunda, es la plataforma de BI propiamente dicha (la que utilizarán los usuarios), que utiliza tomcat.

En este momento, ya podriamos arrancar la plataforma desde los correspondientes scripts que se encuentran en la carpeta c:\pentaho\biserver-ce (start-pentaho.bat para iniciar el servidor y stop-pentaho.bat para pararlo). Este Script arranca en primer lugar la base de datos HSQLDB de ejemplo (donde residen las datos necesarios para el funcionamiento de la plataforma, junto con datos de pruebas para los ejemplos precargados). A continuación, arranca la plataforma de BI, a través del tomcat. Como no queremos trabajar con esa base de datos, sino con MySQL, vamos a proceder a realizar una serie de ajustes antes de arrancar la plataforma.

3) Creación de catalogos en base de datos necesarios para la plataforma.

La plataforma Pentaho necesita dos bases de datos para su funcionamiento (además de la base de datos de test para poder trabajar con el set de ejemplos). Las bases de datos y su cometido son las siguientes:

  • hibernate: esta base de datos almacena la autentificación de usuarios y los datos de autorizaciones, el contenido BI (solution repository) y los origenes de datos disponibles en la plataforma.
  • quartz: es el repositorio para el scheduler Quartz, que es uno de los componentes que forma la plataforma, que nos permite la planificación de procesos dentro del servidor BI.
  • sampledate: contiene las tablas para ilustrar y hacer posible la ejecución de todos los ejemplos por defecto que proporciona la plataforma, para poder hacernos una idea de sus funcionalidades y sus posibilidades de análisis.

Por defecto, los catálogos de estas bases de datos estarán creados en la base de datos HSQLDB que se puede arrancar en la configuración del servidor por defecto.  Para crearlos en MySQL, como es nuestro caso, ejecutaremos los scripts que se encuentran en la carpeta c:\pentaho\biserver-ce\data o bien descargarlos de la web de Prashant Raju. Decido utilizar estos últimos, pues ademas de crear todos los catalogos de tablas, también incluye la carga de datos de ejemplo (paso 5), que es una opción que no incluye la instalación estandar. El orden de ejecución será el siguiente:

mysql> source 1_create_repository_mysql.sql;
 ...output
 mysql> source 2_create_quartz_mysql.sql;
 ...output
 mysql> source 3_create_sample_datasource_mysql.sql;
 ...output
 mysql> source 4_load_sample_users_mysql.sql;
 ...output
 mysql> source 5_sample_data_mysql.sql;
 ...output

La ejecución de los scripts sql la realizaremos desde MySQL Query Browser (la herramienta gráfica para ejecución de sentencias SQL) o bien desde linea de comandos con la utilidad mysql que llevar incluido el servidor MySQL para ejecutar scripts. Podiamos haber utilizado cualquier otro editor sql, comoSQuirreL.

4) Configuracion JDBC, Hibernate and Quartz.

Todas las aplicaciones de Pentaho, incluyendo el Pentaho Server, utilizan la conectividad JDBC (Java Database Connectivity) para la comunicación con las bases de datos. Por tanto, será necesario disponer de los correspondientes conectores según la base de datos que vayamos a utilizar. En nuestro caso, vamos a dejar tanto el conector para MySQL (donde iran las bases de datos de Hibernate y Quartz), como el de Oracle (donde va la base de datos del DW). Las carpetas donde vamos a copiar serán las siguientes:

  • C:\Pentaho\biserver-ce\tomcat\common\lib: ubicación de los drivers JDBC para poder utilizar en el servidor Pentaho la base de datos para la que el conector proporciona conectividad.
  • C:\Pentaho\administration-console\jdbc: es necesario ponerlos aquí también para poder definir correctamente las conexiones a base de datos en la consola de administración.

A continuación, configuraremos los ficheros de parametrización del sistema para que Hibernate y Quartz lean de los catalogos de base de datos en Mysql que hemos creado en el punto 3, en lugar de la base de datos HSQLDB proporcionada por defecto.

  • Configuracion de Hibernate (I): en el fichero applicationContext-spring-security-jdbc.xml (ubicado en la carpeta C:\Pentaho\biserver-ce\pentaho-solutions\system), modificaremos la parte que veis subrayada a continuación, con los valores referidos para utilizar MySQL.
<!--  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="com.mysql.jdbc.Driver" />
<property  name="url"
value="jdbc:mysql://localhost:3306/hibernate"  />
<property  name="username" value="hibuser" />
<property name="password" value="password" />
</bean>
  • Configuracion de Hibernate (II): en el fichero applicationContext-spring-security-hibernate.xml (ubicado en la carpeta C:\Pentaho\biserver-ce\pentaho-solutions\system), modificaremos la parte que veis subrayada a continuación, con los valores referidos para utilizar MySQL.
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/hibernate
jdbc.username=hibuser
jdbc.password=password
hibernate.dialect=org.hibernate.dialect.MySQLDialect
  • Configuración de Hibernate (y III): en el fichero hibernate-settings.xml ( ubicado en la carpeta C:\Pentaho\biserver-ce\pentaho-solutions\system\hibernate), modificaremos la parte que veis subrayada a continuación.
<config-file>system/hibernate/mysql5.hibernate.cfg.xml</config-file>

Con la configuración anterior, hemos configurado la seguridad JDBC de la plataforma. Ahora nos falta indicar en los contextos del servidor de aplicación, la ubicación de las bases de datos, para decirle al servidor que lea de las bases de datos en Mysql, utilizando los drivers y la configuración de seguridad realizada anteriormente. Para ello, modificamos el fichero contexts.xml (ubicado en C:\Pentaho\biserver-ce\tomcat\webapps\pentaho\META-INF) de la siguiente manera:

<?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="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/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="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/quartz"
 validationQuery="select 1"/>
 </Context>

Con esta configuración ya tendriamos lista la parte de conectividad con la base de datos. Solo en el caso de que no hubieramos utilizado los scripts de Prashant Raju, tendriamos que realizar un último paso, que sería ejecutar la siguiente sentencia SQL para indicarle al servidor que los datos de ejemplo los hemos cambiado de lugar:

UPDATE hibernate.DATASOURCE
 SET DRIVERCLASS = 'com.mysql.jdbc.Driver’,
 URL = 'jdbc:mysql://localhost:3306/sampledata’,
 QUERY = 'SELECT 1’
 WHERE NAME = 'SampleData’
 ;

5) Configuración Servidor Apache-Tomcat.

La plataforma Pentaho utiliza Apache-Tomcat como servidor de aplicaciones para desplegar los servicios que la componen. El servidor lleva una configuración por defecto que podemos modificar (por ejemplo, para variar el puerto donde nos conectamos, para el caso de que haya conflicto con otras aplicaciones instaladas en el servidor), la ubicación html, el lenguaje, etc. Para ello, modificaremos el fichero web.xml que se encuentra en la carpeta C:\Pentaho\biserver-ce\tomcat\webapps\pentaho\WEB-INF. Veamos alguna de la cosas que podemos cambiar.

solution-path

Con este parámetro, le indicamos a la plataforma BI la ubicación de la carpeta pentaho-solutions. Por defecto, tiene el valor c:\biserver-ce\.

En nuestro caso, vamos a cambiar el valor para que apunte a la carpeta donde hemos instalado:

<context-param><param-name>solution-path</param-name>
 <param-value>C:\Pentaho\biserver-ce\pentaho-solutions</param-value>
 </context-param>

base-url

Al instalar, la ruta URL por defecto para acceder a la plataforma será la siguiente: http://localhost:8080/pentaho

Podemos cambiarla si lo desamos modificando el parmetro base_url dentro del mismo fichero. En nuestro caso, como vamos a cambiar el puerto por defecto, modificamos su valor indicando lo siguiente:

<context-param>
 <param-name>base-url</param-name>
 <param-value>http://localhost:9999/pentaho/</param-value>
 </context-param>

Esto nos obligará a cambiar tambien la configuración del fichero server.xml, que veremos mas adelante.

port

En la ruta C:\Pentaho\biserver-ce\tomcat\conf, tenemos el fichero server.xml, donde podemos modificar el puerto por defecto de nuestro servidor BI (que es el 8080).

<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
 <Connector port="9999" maxHttpHeaderSize="8192"
 maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
 enableLookups="false" redirectPort="8443" acceptCount="100"
 connectionTimeout="20000" disableUploadTimeout="true" />

Ahora pararemos el servidor tomcat y al arrancar la nueva URL de acceso será la siguiente: http://localhost:9999/pentaho

6) Otros elementos. Scripts arranque. Configuración de la publicación de contenidos y del correo SMTP.

Antes de continuar, vamos a ajustar el script de arranque de la plataforma BI, omitiendo la parte de arranque de la base de datos HSQLDB, que por defecto se arranca cuando lanzamos el script start-pentaho.bat (de la carpeta c:\pentaho\biserver-ce). Es tan sencillo como comentar la linea donde se arranca la base de datos. El script quedaría como sigue (la linea subrayada se ha comentado para que no se ejecute):

@echo off
setlocal
cscript promptuser.js //nologo //e:jscript
rem errorlevel 0 means user chose "no"
if %errorlevel%==0 goto quit
echo WScript.Quit(1); > promptuser.js

if exist "%~dp0jre" call "%~dp0set-pentaho-java.bat" "%~dp0jre"
if not exist "%~dp0jre" call "%~dp0set-pentaho-java.bat"

cd data
rem start start_hypersonic.bat
cd ..\tomcat\bin
set CATALINA_HOME=%~dp0tomcat
set CATALINA_OPTS=-Xms256m -Xmx768m -XX:MaxPermSize=256m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000
set JAVA_HOME=%_PENTAHO_JAVA_HOME%
call startup
:quit
endlocal

Ademas de toda la configuración realizada hasta ahora, nos quedan por configurar dos aspectos importantes para el funcionamiento del sistema:

  • Publicación de contenido: por defecto, la publicación de contenido en el servidor BI esta desactivada, por lo que para publicar los informes o análisis que vayamos realizando, lo deberiamos de hacer dejando los ficheros en la correspondientes carpetas del servidor. Pero es mas fácil hacerlo mediante lo que se llama publicación (que veremos en detalle mas adelante). Para habilitar la publicación, modificaremos el ficheropublisher_config.xml, que se encuentra en la carpeta C:\Pentaho\biserver-ce\pentaho-solutions\system. Ahí indicaremos la contraseña de publicación. Por defecto, no tiene ninguna contraseña, y por tanto, no esta habilitada la publicación.
<publisher-config>
 <publisher-password>passpublic</publisher-password>
</publisher-config>
  • Servicio de correo SMTP: como ultimo paso, configuraremos la posibilidad de envio de correo electrónico, a través de un servidor externo (ya que la plataforma no dispone de un servidor de correo electrónico propio). Para ello, configuraremos el fichero email-config.xml en el directorio C:\Pentaho\biserver-ce\pentaho-solutions\system\smtp-email, de la siguiente manera:
<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>respinosamilla@gmail.com</mail.from.default>
 <mail.userid>respinosamilla@gmail.com</mail.userid>
 <mail.password>password</mail.password>
</email-smtp>

En este caso, estoy utilizando gmail para enviar los correos desde la plataforma. Los valores subrayados son los que yo he indicado. En el caso de estar utilizando otro servidor de correo, tendreís que modificar la configuración de servidor, puertos, tipo de conexión, ect, para que funcione según la configuración de este. Con esta funcionalidad habilitamos la distribución de contenido a través del correo electrónico (por ejemplo, para el envío de la ejecución de informes o análisis).

En este momento, ya podemos arrancar la plataforma. Al iniciarla, y conectarnos en el puerto http://localhost:9999, nos aparece la consola de usuario, con una configuración por defecto. Tendría el siguiente aspecto.

Consola de Usuario por defecto

Ya podemos conectarnos con alguno de los usuarios existentes y trastear con el proyecto de ejemplo Steel Wheels o la colección de muestras y ejemplos que incluye la plataforma. Con ellos nos podemos hacer una idea de las posibilidades de análisis de las que vamos a disponer.

Personalizando la plataforma de usuario.

Como queremos personalizar el portal, vamos a realizar algunos cambios en la consola de usuario (también llamada Mantle). Para ello, vamos a utilizar el blog de Prashant Raju donde nos explica muy bien los pasos a seguir para configurar nuestra plataforma. Esta personalización va a consistir en lo siguiente:

No queremos que aparezcan los usuarios de ejemplo al conectarnos al sistema.

Con la configuración por defecto del sistema, cuando entramos al portal de usuario, nos aparece la siguiente ventana:

Aparecen los usuarios de ejemplo, y al seleccionarlos podemos entrar directamente en la plataforma (sin necesidad de recordad su nombre de usuario o contraseña), ya que el sistema nos lo recuerda. Esto no es operativo para un sistema productivo, y por tanto, vamos a modificarlo. Para ello, modificaremos el fichero loginsettings.properties (ubicando en la carpeta C:\Pentaho\biserver-ce\tomcat\webapps\pentaho\mantleLogin). La configuración por defecto del fichero es la siguiente:

# this file contains settings to configure the login dialog
# flag to turn on/off show users list (overrides pentaho.xml)
#showUsersList=true
# launch PUC in new window (default setting)
openInNewWindow=false
# sample users (be sure that each group has the same # of items as the rest)
userIds=joe, suzy, pat, tiffany
userDisplayNames=Joe (admin), Suzy, Pat, Tiffany
userPasswords=password, password, password, password

Vamos a modificar los valores de la siguiente manera:

# this file contains settings to configure the login dialog
# flag to  turn on/off show users list (overrides pentaho.xml)
showUsersList=false

Reiniciamos el servidor y al entrar en el portal, el aspecto de login habrá variado, apareciendo la siguiente pantalla:

Este login es mas acorde con un sistema donde hay que mantener la seguridad.

Ventana de conexión personalizada para nuestra empresa.

Para modificar el aspecto de la ventana de login, hemos de modificar el fichero PUC_login.jsp que se encuentra en la carpeta C:\Pentaho\biserver-ce\tomcat\webapps\pentaho\jsp. En este fichero hemos modificado textos, alguna de las imagenes que aparecen, hasta conseguir el siguiente aspecto:


Esto es solo un ejemplo sencillo de como podemos ajustar el diseño de la página a las necesidades corporativas de una empresa (logos, infografia, etc). Os dejo el link al fichero PUC_login.jsp modificado.

Configuración de mensajes de login y de mensajes de error.

Para modificar los mensajes de usuario en el momento del login, habrá que modificar el fichero MantleLoginMessages_es.PROPERTIES (para el caso del idioma castellano, o el fichero MantleLoginMessages_en.PROPERTIES en el caso de estar trabajando con el ingles). El fichero se encuentra en dos ubicaciones distintas y habra que modificarlo en ambos casos para que siempre salgan los mismos mensajes. Las ubicaciones son las siguientes:

  • C:\Pentaho\biserver-ce\tomcat\webapps\pentaho\mantleLogin\messages
  • C:\Pentaho\biserver-ce\tomcat\webapps\pentaho\mantle\messages

Cambiaremos los textos de los mensajes, y al grabar el fichero automaticamente seran utilizados por el servidor con los nuevos valores.

Personalización del panel de control y del area de trabajo.

Se pueden personalizar muchisimos aspectos de la consola de usuario (area de trabajo), tal y como nos cuenta Prashant Raju en su blog, desde los logotipos, barras de menu, barra de herramientas, colores, etc. En nuestro ejemplo, vamos a modificar el fichero launch.jsp (ubicado en C:\Pentaho\biserver-ce\tomcat\webapps\pentaho\mantle\launch). En el ejemplo, he modificado el fichero para que en la parte de la derecha aparezca mi blog a los usuarios de la plataforma, en el momento de conectarse. El resultado es el siguiente:

Workspace personalizado

Este es solo un ejemplo sencillo de lo que se puede personalizar, que puede ser casi todo (hasta el código fuente si fuese necesario).

Con todos los elementos que hemos configurado, la plataforma de BI de Pentaho esta preparada y lista para ser utilizada, y ademas personalizada a nuestro gusto o necesidades. A continuación vamos a ir viendo las diferentes herramientas que nos proporciona Pentaho para construir nuestros análisis y la forma de configurar su ejecución dentro de la plataforma BI de Pentaho. Además realizaremos la configuración del metadata y la definición de los cubos Olap que luego nos permitiran realizar los análisis dimensionales.

Fuente: http://churriwifi.wordpress.com/2010/06/20/17-1-instalacion-y-configuracion-de-la-plataforma-bi-de-pentaho/

Publicado el 26 julio, 2012 en Pentaho. Añade a favoritos el enlace permanente. 1 comentario.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: