En ésta publicación explico el procedimiento para configurar los repositorios de metadatos de
Pentaho:
hibernate, quartz y
jackrabbit en la base de datos
MySQL
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.7 o superior, en la siguiente publicación se explica el procedimiento
- Tener instalado la base de datos
MySQL v5.5 o superior
- Haber descargado la aplicación biserver-ce de Pentaho y haberla copiado y descomprimido en el directorio: \biserver-ce-5.0.1
- Haber descargado el controlador JDBC para
MySQL
Configuración paso a paso.-
1. Ir al directorio
\biserver-ce-5.0.1\data aquí se encuentran los scripts para
MySQL, Oracle y PostgreSQL
2. Abrir el directorio
mysql5 y ejecutar los scripts:
create_repository_mysql.sql,
create_quartz_mysql.sql y
create_jcr_mysql.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 de
MySQL (
mysql-connector-java-5.X.X-bin.jar) al directorio
\biserver-ce-5.0.1\tomcat\lib.
4. Editar el archivo
context.xml ubicado en el directorio:
\biserver-ce-5.0.1\tomcat\webapps\pentaho\META-INF. Colocar la siguiente configuración para cambiar la conexión a
MySQL
<?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>
5. Eliminar el archivo
pentaho.xml del directorio:
\biserver-ce-5.0.1\tomcat\conf\Catalina\localhost
6. Editar el archivo
web.xml en el directorio
\biserver-ce-5.0.1\tomcat\webapps\pentaho\WEB-INF. En la línea 73 colocar lo siguiente para que únicamente se inicie la base de datos de ejemplo de HSQLDB:
<!-- [BEGIN HSQLDB DATABASES] -->
<context-param>
<param-name>hsqldb-databases</param-name>
<param-value>sampledata@../../data/hsqldb/sampledata</param-value>
</context-param>
<!-- [END HSQLDB DATABASES] -->
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-X.X.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/mysql5.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/mysql5.hibernate.cfg.xml</config-file>
</settings>
NOTA: no olvidar de editar el archivo
mysql5.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
MySQL como se muestra a continuación:
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
9. Editar el archivo
quartz.properties en el directorio
\biserver-ce-X.X.X\pentaho-solutions\system\quartz ubicar la propiedad
org.quartz.jobStore.driverDelegateClass (línea 300) y colocar el siguiente valor:
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate
10. Editar el archivo
repository.xml de Jackrabbit en el directorio
\biserver-ce-X.X.X\pentaho-solutions\system\jackrabbit. Realizar los siguientes pasos para apuntar Jackrabbit al repositorio de base de datos creado en
MySQL:
- Configuración del FileSystem: descomentar de la línea 44 a la 51. Comentar de la línea 72 a la 74
- Configuración del DataStore: descomentar de la línea 89 a la 100. Comentar la línea 130
- Configuración del Workspace: descomentar de la línea 198 a la 205. Comentar de la línea 226 a la 228. Descomentar de la línea 244 a la 250. Comentar de la línea 273 a la 276
- Configuración del Versionamiento: descomentar de la línea 327 a la 334. Comentar de la línea 354 a la 356. Descomentar de la línea 373 a la 379. Comentar de la línea 401 a la 404
11. Reiniciar el servidor de BI de Pentaho