En ésta publicación explico el procedimiento para configurar los repositorios de metadatos de
Pentaho:
hibernate, quartz y
jackrabbit en la base de datos
PostgreSQL v9.6
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 servidor central
biserver viene con los scripts para
MySQL, Oracle, SQL Server y PostgreSQL.
Pre-requisitos.-
- Tener instalado y configurado el JDK v1.8, en la siguiente publicación se explica el procedimiento
- Tener instalado la base de datos PostgreSQL v9.6
- Haber descargado la aplicación biserver-ce de Pentaho y haberla copiado y descomprimido en el directorio: \biserver-ce-6.x
- Haber descargado el controlador JDBC para PostgreSQL
Configuración paso a paso.-
1. Ir al directorio
\biserver-ce-6.x\data aquí se encuentran los scripts para
MySQL, Oracle, SQL Server y PostgreSQL
2. Abrir el directorio
postgresql y ejecutar los scripts:
create_repository_postgresql.sql,
create_quartz_postgresql.sql y
create_jcr_postgresql.sql
NOTA: password es la contraseña por defecto para los usuarios
hibuser del repositorio
hibernate,
pentaho_user del repositorio
quartz, y
jcr_user del repositorio
jackrabbit
Configuración de Tomcat
3. Copiar el driver
JDBC Tipo 4 de
PostgreSQL (
postgresql-42.0.0.jre7.jar) al directorio
\biserver-ce-6.x\tomcat\lib.
NOTA: Borrar el driver
postgresql-9.3-x.jdbc4.jar existente de tal forma que solo quede el archivo
postgresql-42.0.0.jre7.jar
4. Editar el archivo
context.xml ubicado en el directorio:
\biserver-ce-6.x\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" maxTotal="20" maxIdle="5"
maxWaitMillis="10000" username="hibuser" password="password"
driverClassName="org.postgresql.Driver" url="jdbc:postgresql://localhost:5432/hibernate"
validationQuery="select version();" />
<Resource name="jdbc/Quartz" auth="Container" type="javax.sql.DataSource"
factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxTotal="20" maxIdle="5"
maxWaitMillis="10000" username="pentaho_user" password="password"
driverClassName="org.postgresql.Driver" url="jdbc:postgresql://localhost:5432/quartz"
validationQuery="select version();"/>
</Context>
5. Eliminar el archivo
pentaho.xml del directorio:
\biserver-ce-6.x\tomcat\conf\Catalina\localhost
6. Editar el archivo
web.xml en el directorio
\biserver-ce-6.x\tomcat\webapps\pentaho\WEB-INF. Comentar las secciones:
[BEGIN HSQLDB DATABASES] y
[BEGIN HSQLDB STARTER]
Configuración en BI Server
Todos los archivos de configuración del servidor central de BI de Pentaho Community Edition (
biserver-ce) se encuentran en el directorio:
\biserver-ce-6.x\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/system/hibernate/postgresql.hibernate.cfg.xml como se muestra a continuación:
...
<config-file>system/hibernate/postgresql.hibernate.cfg.xml</config-file>
...
NOTA: no olvidar de editar el archivo
postgresql.hibernate.cfg.xml sí la base de datos está en otro servidor
8. 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://localhost:5432/hibernate
jdbc.username=hibuser
jdbc.password=password
hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
9. En la base de datos
quartz crear la siguiente tabla:
CREATE TABLE "QRTZ"
(
NAME VARCHAR(200) NOT NULL,
PRIMARY KEY (NAME)
);
ALTER TABLE "QRTZ" OWNER TO pentaho_user;
10. Editar el archivo
repository.xml de Jackrabbit en el directorio
\biserver-ce-5.2\pentaho-solutions\system\jackrabbit. Realizar los siguientes pasos para apuntar Jackrabbit al repositorio de base de datos creado en
PostgreSQL:
- Configuración del FileSystem: descomentar de la línea 61 a la 68. Comentar de la línea 69 a la 83
- Configuración del DataStore: descomentar de la línea 123 a la 134. Comentar de la línea 135 a la 155
- Configuración del FileSystem: descomentar de la línea 236 a la 243. Comentar de la línea 244 a la 259
- Configuración del PersistenceManager: descomentar de la linea 293 a la 300. Comentar de la linea 301 a la 317
- Configuración del FileSystem: descomentar de la linea 386 a la 393. Comentar de la linea 394 a la 408
- Configuración del PersistenceManager: descomentar de la linea 443 a la 450. Comentar de la linea 451 a la 466
11. Reiniciar el servidor de BI de Pentaho
Consideraciones Importantes
En sistemas operativos
Windows, sí se ejecutó
biserver antes de realizar ésta configuración usando la base de datos por defecto
HSQLDB, es conveniente eliminar el contenido de los siguientes directorios para evitar comportamientos inesperados:
- \biserver-ce-6.x\tomcat\work\Catalina\*
- \biserver-ce-6.x\tomcat\temp\*
- \biserver-ce-6.x\pentaho-solutions\system\karaf\caches\*
- \biserver-ce-6.x\pentaho-solutions\system\jackrabbit\repository
NOTA: de preferencia igual limpiar el cache del navegador web con el que se esté trabajando.