Está en la página 1de 14

17.1. Instalacin y configuracin de la plataforma BI de Pentaho.

Publicado por Roberto Espinosa en 20 junio 2010

13 Votos Con la ultima versin estable de la plataforma BI descargada de la web de Pentaho (la 3.5.2), y siguiendo las instrucciones de Prashant Raju para esta versin en la plataforma Windows utilizando MySql, realizamos la instalacin y configuracin 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 mquina virtual Java instalada en el equipo donde vamos a trabajar. Pentaho recomienda la versin 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 versin instalada, ejecutaremos el comando: java -version. En el caso de no disponer de la mquina, podemos descargarla en la web de Sun. A continuacin comprobaremos que la variable de entorno JAVA_HOME apunte al directorio donde tenemos instalado Java. Igualmente, la variable PATHtambin debera apuntar al directorio de ejecutables de la instalacin de Java. En mi caso, el valor de las variables ser el siguiente:

JAVA_HOME PATH

c:\Program Files\Java\jdk1.6.0_17 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 mquina, lo descargaremos de la web y realizaremos la instalacin segn las instrucciones que nos proporcionan en su portal de documentacin. 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 administracin, que utilizamos para configurar y administrar el servidor BI (utiliza Jetty). La segunda, es la plataforma de BI propiamente dicha (la que utilizarn 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 stoppentaho.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 continuacin, arranca la plataforma de BI, a travs 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) Creacin de catalogos en base de datos necesarios para la plataforma. La plataforma Pentaho necesita dos bases de datos para su funcionamiento (adems 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 autentificacin 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 planificacin de procesos dentro del servidor BI. sampledate: contiene las tablas para ilustrar y hacer posible la ejecucin de todos los ejemplos por defecto que proporciona la plataforma, para poder hacernos una idea de sus funcionalidades y sus posibilidades de anlisis.

Por defecto, los catlogos de estas bases de datos estarn creados en la base de datos HSQLDB que se puede arrancar en la configuracin 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, tambin incluye la carga de datos de ejemplo (paso 5), que es una opcin que no incluye la instalacin estandar. El orden de ejecucin 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 ejecucin de los scripts sql la realizaremos desde MySQL Query Browser (la herramienta grfica para ejecucin 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 comunicacin con las bases de datos. Por tanto, ser necesario disponer de los correspondientes conectores segn 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 sern las siguientes:

C:\Pentaho\biserver-ce\tomcat\common\lib: ubicacin 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 tambin para poder definir correctamente las conexiones a base de datos en la consola de administracin.

A continuacin, configuraremos los ficheros de parametrizacin 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-securityjdbc.xml (ubicado en la carpeta C:\Pentaho\biserver-ce\pentaho-solutions\system), modificaremos la parte que veis subrayada a continuacin, 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-securityhibernate.xml (ubicado en la carpeta C:\Pentaho\biserver-ce\pentaho-solutions\system), modificaremos la parte que veis subrayada a continuacin, 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


Configuracin 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 continuacin.

<config-file>system/hibernate/mysql5.hibernate.cfg.xml</config-file>
Con la configuracin anterior, hemos configurado la seguridad JDBC de la plataforma. Ahora nos falta indicar en los contextos del servidor de aplicacin, la ubicacin de las bases de datos, para decirle al servidor que lea de las bases de datos en Mysql, utilizando los drivers y la configuracin 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 configuracin 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 sera 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) Configuracin Servidor Apache-Tomcat. La plataforma Pentaho utiliza Apache-Tomcat como servidor de aplicaciones para desplegar los servicios que la componen. El servidor lleva una configuracin 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 ubicacin html, el lenguaje, etc. Para ello, modificaremos el fichero web.xml que se encuentra en la carpeta C:\Pentaho\biserverce\tomcat\webapps\pentaho\WEB-INF. Veamos alguna de la cosas que podemos cambiar. solution-path

Con este parmetro, le indicamos a la plataforma BI la ubicacin 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 configuracin 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. Configuracin de la publicacin 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 startpentaho.bat (de la carpeta c:\pentaho\biserver-ce). Es tan sencillo como comentar la linea donde se arranca la base de datos. El script quedara 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 configuracin realizada hasta ahora, nos quedan por configurar dos aspectos importantes para el funcionamiento del sistema:

Publicacin de contenido: por defecto, la publicacin de contenido en el servidor BI esta desactivada, por lo que para publicar los informes o anlisis que vayamos realizando, lo deberiamos de hacer dejando los ficheros en la correspondientes carpetas del servidor. Pero es mas fcil hacerlo mediante lo que se llama publicacin (que veremos en detalle mas adelante). Para habilitar la publicacin, modificaremos el ficheropublisher_config.xml, que se encuentra en la carpeta C:\Pentaho\biserver-ce\pentaho-solutions\system. Ah indicaremos la contrasea de publicacin. Por defecto, no tiene ninguna contrasea, y por tanto, no esta habilitada la publicacin.

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


Servicio de correo SMTP: como ultimo paso, configuraremos la posibilidad de envio de correo electrnico, a travs de un servidor externo (ya que la plataforma no dispone de un servidor de correo electrnico 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, tendres que modificar la configuracin de servidor, puertos, tipo de conexin, ect, para que funcione segn la configuracin de este. Con esta funcionalidad habilitamos la distribucin de contenido a travs del correo electrnico (por ejemplo, para el envo de la ejecucin de informes o anlisis). 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 configuracin por defecto. Tendra 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 coleccin de muestras y ejemplos que incluye la plataforma. Con ellos nos podemos hacer una idea de las posibilidades de anlisis 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 (tambin 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 personalizacin va a consistir en lo siguiente:

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


Con la configuracin 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 contrasea), 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\biserverce\tomcat\webapps\pentaho\mantleLogin). La configuracin 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 conexin 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 diseo de la pgina a las necesidades corporativas de una empresa (logos, infografia, etc). Os dejo el link al fichero PUC_login.jsp modificado.

Configuracin 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.

Personalizacin 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 cdigo 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 continuacin vamos a ir viendo las diferentes herramientas que nos proporciona Pentaho para construir nuestros anlisis y la forma de configurar su ejecucin dentro de la plataforma BI de Pentaho. Adems realizaremos la configuracin del metadata y la definicin de los cubos Olap que luego nos permitiran realizar los anlisis dimensionales.

coneccion de schema workbench de pentaho


bueno como ya he dicho en uno de los artculos anteriores he estado investigando ciertas cosas de la herramienta{o en realidad el conjunto de herramientas}opensource,por ende la documentacin no es la mejor y si se acerca a ser muy mala{pueden ver por sus propios ojos}bueno hablemos de la coneccion, en este caso nos queramos conectar a una base de datos mysql,para lo cual como es un programa hecho en java necesita un driver{un .jar} para poder conectarse, dependiendo de la base de datos uno necesita el "driver" correspondiente,bueno donde se coloca es cosa de el programa java a conectar en el caso de workbench, si uno revisa el bach{para windows} o el .sh sale donde. el cual si uno entra a "pentaho\workbench\drivers" si no recuerdo,pero es netamente en la carpeta del workbench dentro la carpeta drivers ahora hay una sintasix especial para conectarse en o mejor dicho para la URL de coneccion, vuelvo a recordar que esto es para una base mysql que viene con la suite pentaho 5 punto y algo es la versin del mysql.
Driver Class Name:>com.mysql.jdbc.Driver Connection URL:>jdbc:mysql://localhost:3306/bi User name:>ubuntu_es_el_demonio Password:>realmente_es_el_demonio

comentemos un poco las cosas "com.mysql.jdbc.Driver" -> eso es asi en el driver class name tiene que ser asi para mysql,vuelvo a repetir que debe estar el connector correspondiente jdbc:mysql://localhost:3306/bi -> lo que se debe cambiar a su caso son los campos "localhost" mi base de datos mysql esta en el mismo computador pero ah va la direccion IP si es que esta en otra parte,el "3306" es el puerto por defecto de coneccion en mysql por lo tanto depende que que configuracin le diste si lo cambias o no "bi" es la base de datos que creamos antes en mysql o debe ser una base de datos existente "User name" y "password" -> corresponde netamente a tu usuario y password en mysql

bueno he aqu una foto

Connector/J: Standardized database driver for Java platforms and development. esto es lo que necesitan colocar en la carpeta drivers y el que sirve por lo menos para el mysql que viene con pentaho es la 3.1 lo sacan de la carpeta del data integrator de pentaho o lo pueden bajar de este click this link ****posibles problemas y posibles soluciones**** en windows ,es el super duper firewall que trae empotrado el windows que bloquea esta aplicacion, asi que revisen eso, les puede tirar un error de que "el driver no es el adecuado" cosa que es mentira es por el firewall. en win xp a mi no me reconoca el driver cosa que aun no descubro el porque, segn lo que lei por ah era por culpa del CLASSPATH por ende no encontraba la carpeta por donde estaban los drivers, bueno como cambiar el classpath en windows he por aqu yo escribir un mini articulo pero a mi no me resulto, modifique el bach{por el notepad++} y tampoco,hice un set al classpath desde el bach{en linux desde el .sh} y nada....no he seguido investigando ya que le funciono a mi compa~ero de grupo{si gracias a dios no estoy sufriendo solo en esto :p} ~~~~~ACTUALIZACION~~~~~~~~ bueno de nuevo necesito usar esta cuestin, porque estoy metido en la practica trabajando con esto de los cubos , el ETL, los dashboard, etc etc etc , pero bueno a mi cuando escrib esto no me haba funcionado, pero adivinen que, ahora si!! cual fue mi maldito error , el cual me sorprende no haber dado con la solucin antes, bueno creo que hay tres formas de realmente hacer la coneccion: 1.- bueno es como la mas ordinaria y desesperada si es que le puedo colocar nombre,es modificar el archivo viene con el "schema work bench" la cual se agregar la siguiente linea al archivo workbench.bat:
set CP=%CP%;lib/mysqlconnection.jar

esto quiere decir que nosotros dejamos nuestro driver mysqlconnection.jar en la carpeta lib que esta dentro de la misma carpeta que esta nuestro archivo workbench.bat{pueden indicarle cualquier carpeta donde este el correspondiente jar}

2.- bueno y la mas lgica y simple es que al mirar el bach me di cuenta que cargaba unos jar que estaban supuestamente no exista ese lugar en la carpeta drivers, pues bien se crea dentro la carpeta drivers y se deposita el mysqlconnector.jar{sea la versin que sea} y listo corren el .bat{para linux seria el .sh pero tambin busca en la carpeta drivers si es que no miran el .sh), y estara funcionando Recuerden que tiene que modificar el mondrian.properties que esta dentro para que realmente se puedan correr las consultas MDX nota:bueno creo que mi error fue porque casi siempre, no se si se han fijado ,se dejan estos jar en la carpeta "lib"{cosa de recordar tomcat etc, etc,etc.}