Instalación y Configuración de Pentaho BI y MySQL

9,397 views
9,210 views

Published on

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

0 Comments
9 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
9,397
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
9
Embeds 0
No embeds

No notes for slide

Instalación y Configuración de Pentaho BI y MySQL

  1. 1. Instalación y configuración de laplataforma BI de Pentaho.Publicado por Roberto Espinosa en 20 junio 2010Con la última versión estable de la plataforma BI descargada de la web de Pentaho (la 3.5.2), ysiguiendo las instrucciones de Prashant Raju para esta versión en laplataforma Windows utilizando MySql, realizamos la instalación y configuración de nuestro sistemarealizando los siguientes pasos:1) Requisitos previos: maquina virtual Java y la base de datos MySQL (u otra de lassoportadas).Para poder ejecutar la plataforma de BI de Pentaho es necesario disponer de una máquina virtual Javainstalada en el equipo donde vamos a trabajar. Pentaho recomienda la versión 1.5 de Sun JRE. Conversiones anteriores no funciona y la 1.6 no esta oficialmente soportada (es la que tengo instaladayo), aunque si funciona.Para ver la versión instalada, ejecutaremos el comando: java -version. En el caso de no disponer dela máquina, podemos descargarla en la web de Sun.A continuación comprobaremos que la variable de entorno JAVA_HOME apunte al directorio dondetenemos instalado Java. Igualmente, la variable PATHtambién debera apuntar al directorio deejecutables de la instalación de Java. En mi caso, el valor de las variables será el siguiente:JAVA_HOME c:Program FilesJavajdk1.6.0_17PATH c:Program FilesJavajdk1.6.0_17bin;.....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, lodescargaremos de la web y realizaremos la instalación según las instrucciones que nos proporcionanen 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 Zipque 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 laplataforma de administración, que utilizamos para configurar y administrar el servidor BI (utiliza
  2. 2. Jetty). La segunda, es la plataforma de BI propiamente dicha (la que utilizarán los usuarios), queutiliza tomcat.En este momento, ya podriamos arrancar la plataforma desde los correspondientes scripts que seencuentran en la carpeta c:pentahobiserver-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 depruebas para los ejemplos precargados). A continuación, arranca la plataforma de BI, a través deltomcat. Como no queremos trabajar con esa base de datos, sino con MySQL, vamos a proceder arealizar 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 dedatos de test para poder trabajar con el set de ejemplos). Las bases de datos y su cometido son lassiguientes:hibernate: esta base de datos almacena la autentificación de usuarios y los datos deautorizaciones, el contenido BI (solution repository) y los origenes de datos disponibles en laplataforma.quartz: es el repositorio para el scheduler Quartz, que es uno de los componentes que formala 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 losejemplos por defecto que proporciona la plataforma, para poder hacernos una idea de susfuncionalidades 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 quese puede arrancar en la configuración del servidor por defecto. Para crearlos en MySQL, como esnuestro caso, ejecutaremos los scripts que se encuentran en la carpeta c:pentahobiserver-cedata obien descargarlos de la web de Prashant Raju. Decido utilizar estos últimos, pues ademas de creartodos los catalogos de tablas, también incluye la carga de datos de ejemplo (paso 5), que es unaopción que no incluye la instalación estandar. El orden de ejecución será el siguiente:mysql>source 1_create_repository_mysql.sql;...outputmysql>source 2_create_quartz_mysql.sql;...outputmysql>source 3_create_sample_datasource_mysql.sql;...outputmysql>source 4_load_sample_users_mysql.sql;...outputmysql>source 5_sample_data_mysql.sql;...output
  3. 3. La ejecución de los scripts sql la realizaremos desde MySQL Query Browser (la herramienta gráficapara ejecución de sentencias SQL) o bien desde linea de comandos con la utilidad mysql que llevarincluido 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 (JavaDatabase Connectivity) para la comunicación con las bases de datos. Por tanto, será necesariodisponer de los correspondientes conectores según la base de datos que vayamos a utilizar. Ennuestro caso, vamos a dejar tanto el conector para MySQL (donde iran las bases de datos deHibernate y Quartz), como el de Oracle (donde va la base de datos del DW). Las carpetas dondevamos a copiar serán las siguientes:C:Pentahobiserver-cetomcatcommonlib: ubicación de los drivers JDBC para poderutilizar en el servidor Pentaho la base de datos para la que el conector proporcionaconectividad.C:Pentahoadministration-consolejdbc: es necesario ponerlos aquí también para poderdefinir 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 yQuartz lean de los catalogos de base de datos en Mysql que hemos creado en el punto 3, en lugar dela base de datos HSQLDB proporcionada por defecto.Configuracion de Hibernate (I): en el fichero applicationContext-spring-security-jdbc.xml (ubicado en la carpeta C:Pentahobiserver-cepentaho-solutionssystem),modificaremos la parte que veis subrayada a continuación, con los valores referidos parautilizar MySQL.<!-- This is only for Hypersonic. Please update this section for anyother 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:Pentahobiserver-cepentaho-solutionssystem),modificaremos la parte que veis subrayada a continuación, con los valores referidos parautilizar MySQL.jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/hibernatejdbc.username=hibuser
  4. 4. jdbc.password=passwordhibernate.dialect=org.hibernate.dialect.MySQLDialectConfiguración de Hibernate (y III): en el fichero hibernate-settings.xml ( ubicado en lacarpeta C:Pentahobiserver-cepentaho-solutionssystemhibernate), modificaremos la parteque 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 faltaindicar en los contextos del servidor de aplicación, la ubicación de las bases de datos, para decirle alservidor que lea de las bases de datos en Mysql, utilizando los drivers y la configuración de seguridadrealizada anteriormente. Para ello, modificamos el fichero contexts.xml (ubicado enC:Pentahobiserver-cetomcatwebappspentahoMETA-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 elcaso de que no hubieramos utilizado los scripts de Prashant Raju, tendriamos que realizar un últimopaso, que sería ejecutar la siguiente sentencia SQL para indicarle al servidor que los datos de ejemplolos hemos cambiado de lugar:UPDATE hibernate.DATASOURCESET 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 losservicios que la componen. El servidor lleva una configuración por defecto que podemos modificar (porejemplo, para variar el puerto donde nos conectamos, para el caso de que haya conflicto con otras
  5. 5. aplicaciones instaladas en el servidor), la ubicación html, el lenguaje, etc. Para ello, modificaremos elfichero web.xml que se encuentra en la carpeta C:Pentahobiserver-cetomcatwebappspentahoWEB-INF. Veamos alguna de la cosas que podemos cambiar.solution-pathCon este parámetro, le indicamos a la plataforma BI la ubicación de la carpeta pentaho-solutions. Por defecto, tieneel 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:Pentahobiserver-cepentaho-solutions</param-value></context-param>base-urlAl instalar, la ruta URL por defecto para acceder a la plataforma será lasiguiente: http://localhost:8080/pentahoPodemos cambiarla si lo desamos modificando el parmetro base_url dentro del mismo fichero. Ennuestro caso, como vamos a cambiar el puerto por defecto, modificamos su valor indicando losiguiente:<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 masadelante.portEn la ruta C:Pentahobiserver-cetomcatconf, tenemos el fichero server.xml, donde podemosmodificar 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á lasiguiente: http://localhost:9999/pentaho
  6. 6. 6) Otros elementos. Scripts arranque. Configuración de la publicación de contenidos y delcorreo SMTP.Antes de continuar, vamos a ajustar el script de arranque de la plataforma BI, omitiendo la parte dearranque de la base de datos HSQLDB, que por defecto se arranca cuando lanzamos el script start-pentaho.bat (de la carpeta c:pentahobiserver-ce). Es tan sencillo como comentar la linea donde searranca la base de datos. El script quedaría como sigue (la linea subrayada se ha comentado para queno se ejecute):@echo offsetlocalcscript promptuser.js //nologo //e:jscriptrem errorlevel 0 means user chose "no"if %errorlevel%==0 goto quitecho WScript.Quit(1); > promptuser.jsif exist "%~dp0jre" call "%~dp0set-pentaho-java.bat" "%~dp0jre"if not exist "%~dp0jre" call "%~dp0set-pentaho-java.bat"cd data rem start start_hypersonic.batcd ..tomcatbinset CATALINA_HOME=%~dp0tomcatset CATALINA_OPTS=-Xms256m -Xmx768m -XX:MaxPermSize=256m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000set JAVA_HOME=%_PENTAHO_JAVA_HOME%call startup:quitendlocalAdemas de toda la configuración realizada hasta ahora, nos quedan por configurar dos aspectosimportantes para el funcionamiento del sistema:Publicación de contenido: por defecto, la publicación de contenido en el servidor BI estadesactivada, por lo que para publicar los informes o análisis que vayamos realizando, lodeberiamos de hacer dejando los ficheros en la correspondientes carpetas del servidor. Peroes mas fácil hacerlo mediante lo que se llama publicación (que veremos en detalle masadelante). Para habilitar la publicación, modificaremos el ficheropublisher_config.xml, quese encuentra en la carpeta C:Pentahobiserver-cepentaho-solutionssystem. Ahí indicaremosla contraseña de publicación. Por defecto, no tiene ninguna contraseña, y por tanto, no estahabilitada la publicación.<publisher-config><publisher-password>passpublic</publisher-password></publisher-config>Servicio de correo SMTP: como ultimo paso, configuraremos la posibilidad de envio decorreo electrónico, a través de un servidor externo (ya que la plataforma no dispone de unservidor de correo electrónico propio). Para ello, configuraremos el fichero email-config.xmlen el directorio C:Pentahobiserver-cepentaho-solutionssystemsmtp-email, de la siguientemanera:<email-smtp>
  7. 7. <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 valoressubrayados son los que yo he indicado. En el caso de estar utilizando otro servidor de correo, tendreísque modificar la configuración de servidor, puertos, tipo de conexión, ect, para que funcione según laconfiguración de este. Con esta funcionalidad habilitamos la distribución de contenido a través delcorreo 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 elpuerto http://localhost:9999, nos aparece la consola de usuario, con una configuración por defecto.Tendría el siguiente aspecto.Consola de Usuario por defectoYa podemos conectarnos con alguno de los usuarios existentes y trastear con el proyecto deejemplo Steel Wheels o la colección de muestras y ejemplos que incluye la plataforma. Con ellos nospodemos hacer una idea de las posibilidades de análisis de las que vamos a disponer.
  8. 8. 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 explicamuy bien los pasos a seguir para configurar nuestra plataforma. Esta personalización va a consistir enlo siguiente:No queremos que aparezcan los usuarios de ejemplo alconectarnos al sistema.Con la configuración por defecto del sistema, cuando entramos al portal de usuario, nos aparece lasiguiente 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:Pentahobiserver-cetomcatwebappspentahomantleLogin). 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 therest)userIds=joe, suzy, pat, tiffanyuserDisplayNames=Joe (admin), Suzy, Pat, TiffanyuserPasswords=password, password, password, passwordVamos 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
  9. 9. Reiniciamos el servidor y al entrar en el portal, el aspecto de login habrá variado, apareciendo lasiguiente pantalla:Este login es mas acorde con un sistema donde hay que mantener la seguridad.Ventana de conexión personalizada para nuestraempresa.Para modificar el aspecto de la ventana de login, hemos de modificar el fichero PUC_login.jsp que seencuentra en la carpeta C:Pentahobiserver-cetomcatwebappspentahojsp. En este fichero hemosmodificado textos, alguna de las imagenes que aparecen, hasta conseguir el siguiente aspecto:
  10. 10. Esto es solo un ejemplo sencillo de como podemos ajustar el diseño de la página a las necesidadescorporativas de una empresa (logos, infografia, etc). Os dejo el link alfichero PUC_login.jsp modificado.Configuración de mensajes de login y de mensajes deerror.Para modificar los mensajes de usuario en el momento del login, habrá que modificar elfichero MantleLoginMessages_es.PROPERTIES (para el caso del idioma castellano, o elfichero MantleLoginMessages_en.PROPERTIES en el caso de estar trabajando con el ingles). Elfichero se encuentra en dos ubicaciones distintas y habra que modificarlo en ambos casos para quesiempre salgan los mismos mensajes. Las ubicaciones son las siguientes:C:Pentahobiserver-cetomcatwebappspentahomantleLoginmessagesC:Pentahobiserver-cetomcatwebappspentahomantlemessages
  11. 11. Cambiaremos los textos de los mensajes, y al grabar el fichero automaticamente seran utilizados porel 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 comonos 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 enC:Pentahobiserver-cetomcatwebappspentahomantlelaunch). En el ejemplo, he modificado elfichero para que en la parte de la derecha aparezca mi blog a los usuarios de la plataforma, en elmomento de conectarse. El resultado es el siguiente:Workspace personalizadoEste es solo un ejemplo sencillo de lo que se puede personalizar, que puede ser casi todo (hasta elcódigo fuente si fuese necesario).
  12. 12. Con todos los elementos que hemos configurado, la plataforma de BI de Pentaho esta preparada ylista para ser utilizada, y ademas personalizada a nuestro gusto o necesidades. A continuación vamosa ir viendo las diferentes herramientas que nos proporciona Pentaho para construir nuestros análisis yla forma de configurar su ejecución dentro de la plataforma BI de Pentaho. Además realizaremos laconfiguración del metadata y la definición de los cubos Olap que luego nos permitiran realizar losanálisis dimensionales.

×