Buscar en el Blog

domingo, 19 de agosto de 2012

Configuración de Pentaho BI Server para PostgreSQL

En ésta publicación explico el procedimiento para configurar los repositorios de metadatos de Pentaho: hibernate y quartz en la base de datos PostgreSQL

Por defecto, el biserver de Pentaho usa la base de datos HSQLDB, ésta base de datos no es recomendada para instalaciones en producción por lo que es conveniente instalarlo en un motor de base de datos más robusto. El biserver viene con los scripts para MySQL, Oracle y PostgreSQL.

Pre-requisitos.-
  • Tener instalado y configurado el JDK v1.6 o superior, en la siguiente publicación se explica el procedimiento
  • Tener instalado la base de datos  PostgreSQL v8.4 o superior
  • Haber descargado la aplicación biserver-ce de Pentaho y haberla copiado y descomprimido en el directorio: C:\pentaho\biserver-ce-X.X.X
  • Haber descargado el controlador JDBC Tipo 3 para  PostgreSQL
Configuración paso a paso.-

1. Ir al directorio C:\pentaho\biserver-ce-X.X.X\biserver-ce\data aquí se encuentran los scripts para MySQL, Oracle y PostgreSQL

2. Abrir el directorio postgresql y copiar los scripts: create_repository_postgresql.sql, create_quartz_postgresql.sql y create_sample_datasource_postgresql.sql al directorio C:\Program Files\PostgreSQL\8.4\scripts

3. Ejecutar el programa runpsql.bat y acceder con el usuario postgres



4. Ejecutar la siguiente secuencia de comandos

\i create_repository_postgresql.sql
password
\i create_sample_datasource_postgresql.sql
\connect postgres postgres
sa
\i create_quartz_postgresql.sql
password

NOTA: password es la contraseña por defecto para los usuarios hibuser del repositorio hibernate y pentaho_user del repositorio quartz, sa es la contraseña del usuario postgres.

Configuración de Tomcat

5. Copiar el driver JDBC Tipo 3 de PostgreSQL (postgresql-X.X-XXX.jdbc3.jar) al directorio C:\pentaho\biserver-ce-X.X.X\biserver-ce\tomcat\lib.

6. Editar el archivo context.xml ubicado en el directorio: C:\pentaho\biserver-ce-X.X.X\biserver-ce\tomcat\webapps\pentaho\META-INF. Colocar la siguiente configuración para cambiar la conexión a PostgreSQL

<?xml version="1.0" encoding="UTF-8"?>
<Context path="/pentaho" docbase="webapps/pentaho/">
 <Resource name="jdbc/Hibernate" auth="Container" type="javax.sql.DataSource"
  factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxActive="20" maxIdle="5"
  maxWait="10000" username="hibuser" password="password"
  driverClassName="org.postgresql.Driver" url="jdbc:postgresql://127.0.0.1:5432/hibernate"
  validationQuery="select version();" />
  
 <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://127.0.0.1:5432/quartz"
  validationQuery="select version();"/>
</Context>

Configuración del BI Server

Todos los archivos de configuración del servidor central de BI de Pentaho Community Edition (biserver-ce) se encuentran en el directorio: C:\pentaho\biserver-ce-X.X.X\biserver-ce\pentaho-solutions\system

El resto de configuraciones se realizarán en éste directorio.

7. Ir al subdirectorio /hibernate y editar el archivo hibernate-settings.xml, cambiar la etiqueta <config-file> al valor: system/hibernate/postgresql.hibernate.cfg.xml como se muestra a continuación:

<?xml version='1.0' encoding='utf-8'?>
<settings>  
    <!--config-file>system/hibernate/hsql.hibernate.cfg.xml</config-file-->
 <config-file>system/hibernate/postgresql.hibernate.cfg.xml</config-file>
    <managed>false</managed>
</settings>

8. Editar el archivo applicationContext-spring-security-jdbc.xml y cambiar la configuración de conexión del Bean dataSource a PostgreSQL como se muestra a continuación:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springsource.org/dtd/spring-beans.dtd">
<beans> 
 <!--...-->
 <bean id="dataSource"
  class="org.springframework.jdbc.datasource.DriverManagerDataSource">
  <property name="driverClassName" value="org.postgresql.Driver" />
  <property name="url"
   value="jdbc:postgresql://127.0.0.1:5432/hibernate" />
  <property name="username" value="hibuser" />
  <property name="password" value="password" />
 </bean>
 <!--...-->
</beans>

9. Editar el archivo applicationContext-spring-security-hibernate.properties y cambiar la configuración de conexión a PostgreSQL como se muestra a continuación:

jdbc.driver=org.postgresql.Driver
jdbc.url=jdbc:postgresql://127.0.0.1:5432/hibernate
jdbc.username=hibuser
jdbc.password=password
hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect

10. Reiniciar el servidor de BI de Pentaho (biserver-ce)


20 comentarios:

  1. exelente informacion, en un servidor linux donde iria toda la estructura del directorio pentaho?

    ResponderBorrar
    Respuestas
    1. Depende del directorio en dónde se copie. Por ejemplo: /usr/pentaho/biserver-ce-X.X.X

      Borrar
  2. Hola, si quiero conectarme a una base de datos que se encuentra en un servidor y no en mi equipo, ¿Cuál sería el mecanismo?.

    Gracias

    ResponderBorrar
    Respuestas
    1. Para que puedas conectarte a un servidor, tienes que reemplazar localhost o 127.0.0.1 por la dirección IP o dominio del servidor que vas a conectarte.

      Borrar
    2. Muchas gracias, la información me fue muy util.

      Borrar
  3. Hola, actualmente me encuentro realizando mi proyecto de grado y he visto el gran potencial de las herramientas OpenSource, en especial PDI me ha llamado la atención y puedo ver lo potente que es.

    Me gustaría contar con su ayuda en el desarrollo de mi proyecto, pero no solo quiero trabajar con PDI solo en este, quiero seguir adelante con nuevos proyectos.

    La información de esta publicación me ha sido de gran ayuda, pero me gustaría poder contar con su ayuda en este proceso si llegase a toparme con cosas que no pueda solucionar.

    Gracias por la ayuda, espero podamos estar en contacto.

    ResponderBorrar
    Respuestas
    1. Hola Edgar,

      Que bueno que te haya sido de utilidad, sí puedes escribeme a mí correo mauricio2k4@gmail.com para ponernos en contacto y ver cómo te puedo ayudar.

      Saludos Cordiales,

      Borrar
  4. Hola, he visto el potencial de PDI y he trabajado con el de forma local. Actualmente me propongo realizar mi proyecto de grado implementando esta herramienta, por lo que es requisito subirla a un servidor, por ello este post me ha resultado de mucha ayuda.

    No solo quiero trabajar con PDI en mi proyecto, quiero seguir realizando desarrollos con el y expandir horizontes con lo que puede brindar.

    Me gustaría y le agradecería mucho poder contar con su ayuda en este proceso dado el caso que me tope con algún tipo de obstáculo que no pueda superar.

    Gracias por la ayuda, y espero poder estar en contacto.

    ResponderBorrar
  5. Buen día Mauricio,
    Siguiendo tu guia para la instalacion de BI server 4.8.0 con postgres me fui bien (dicho de paso es excelente) pero realmente al intentar hacer los mismo con una bdd real en mi trabajo con Oracle 11g y BI server 5.1 existen algunas particularidades que las desconozco, por favor si me pudieras ayudar con tema te agradeceria muchísimo ....

    ResponderBorrar
    Respuestas
    1. Hola, sigue los pasos de configuración de la siguiente publicación.

      http://ingmmurillo-dwh-bi.blogspot.com/2014/07/configuracion-de-pentaho-bi-server-501.html

      Existen muchos cambios a partir de la versión de BI Server 5, una de las más importantes es la introducción de Jackrabbit como repositorio de contenido.

      Saludos,

      Borrar
  6. Con este paso a paso, actualizado con un archivo pdf llamado "Instalar y configurar Pentaho BI Suite 5 CE con PostgreSQL 9.3" logré hacer el trabajo.

    Gracias

    ResponderBorrar
  7. hola . muy buena información, segui todos los pasos pero lamentablemente en la carpeta no encuentro los script para crear la DB (postgreSQL), he realizado la instalacion muchas veces pero el problema persiste, hay algún lugar donde se encuentren los script por separado

    ResponderBorrar
    Respuestas
    1. Descarga BI-Server de Sourceforge http://sourceforge.net/projects/pentaho/files/Business%20Intelligence%20Server/4.8.0-stable/biserver-ce-4.8.0-stable.tar.gz/download

      Una vez que descargues, los scripts los encuentras en /biserver-ce/data/postgresql

      Borrar
  8. Hola buenos días...
    La verdad me esta siendo de mucha ayuda todo lo publicado, soy nueva en esta herramienta.
    Pero para poder avanzar tengo dudas, con respecto a las siguientes lineas de codigo:
    \i create_repository_postgresql.sql
    password ---> NO ME PIDE NINGUNA CONTRASEÑA
    \i create_sample_datasource_postgresql.sql
    \connect postgres postgres
    sa ----> EN DONDE COLOCO ESO O COMO LO COLOCO? PORQUE LO ESCRIBO Y NO HACE NADA
    \i create_quartz_postgresql.sql
    password ----> QUE PASS ES??? porque puse "sa" y no sale nada, no me tira nada, no se que esperar.
    lo que si me pones es que ingrese una contraseña de usuario pentaho_user ... de donde lo obtengo? lo tengo que generar?...

    Muchas Gracias!!!! :)

    ResponderBorrar
    Respuestas
    1. Hola, la contreseña usada para todo es password

      Para ambientes de desarrollo o pruebas de concepto puedas usarla, pero no recomiendo de ninguna manera para ambientes de producción. Sí deseas cambiarla tienes que modificar
      en los scripts SQL y en los archivos XML de configuración (password="password")

      Borrar
  9. Buenos dias tengo dos preguntas como seria la instalacion de esta version de pentaho bi server con postgreSQL 8.2 ya que el 8.2 no contiene la carpeta scripts.

    la segunda pregunta es como adaptar mi proyecto de BI y mi base de datos propia que esta hecha en postgreSQL a al BI server.

    Muchas gracias de antemano.

    ResponderBorrar
    Respuestas
    1. Estimado:

      En ésta publicación explico el procedimiento.
      http://ingmmurillo-dwh-bi.blogspot.com/2012/08/configuracion-de-pentaho-bi-server-para.html

      Es importante eso sí que uses el driver JDBC para la versión de Postgres8.2 que estás usando.

      Saludos,

      Borrar
  10. Buenas Tardes:

    create_repository_postgresql.sql, create_quartz_postgresql.sql y create_sample_datasource_postgresql.sql

    Estos archivos no puedo copiarlos en postgresql 8.2 ya que no tengo la carpeta scripts, ademas no tengo el runpsql.bat para ejecutarlos.

    Que podria hacer saludos y gracias

    ResponderBorrar
  11. Buenas Tardes:

    Mi duda es como respecto por ejemplo yo tengo una base de datos llamada "importacion" aparte esta la base de datos "postgres" que esta vacía los scripts create_repository_postgresql.sql, create_quartz_postgresql.sql y create_sample_datasource_postgresql.sql en que base de datos de las 2 mencionadas entrarían.

    segundo al intentar correr la secuencia de comandos con psql me dice que no existen los archivos, y eso que ando siguiendo los pasos del tutorial.

    Gracias nuevamente de antemano.

    ResponderBorrar
    Respuestas
    1. Hola:

      Las instrucciones de instalación de este post son en Windows, sí estás con Windows, abre una consola de comando y verifica que puedes ejecutar psql.

      Sí es así, ejecuta:

      \i c:/ruta_del_archivo/create_repository_postgresql.sql
      password
      \i c:/ruta_del_archivo/create_sample_datasource_postgresql.sql
      \connect postgres postgres
      sa
      \i c:/ruta_del_archivo/create_quartz_postgresql.sql
      password

      A parte de tu base "importacion", estas bases de datos son propias de Pentaho BI Server para su ejecución y operación, te comparto ésta publicación donde explico la arquitectura de Pentaho CE

      http://ingmmurillo-dwh-bi.blogspot.com/2015/05/arquitectura-de-flujo-de-datos-con.html

      Saludos,

      Borrar