Por defecto, biserver 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, biserver viene con los scripts para MySQL, Oracle, PostgreSQL y SQL Server
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.4
- Haber descargado el controlador JDBC para MySQL
1. Ir al directorio \biserver-ce-5.4\data aquí se encuentran los scripts para MySQL, Oracle, PostgreSQL y SQL Server
2. Abrir el directorio mysql5 y ejecutar los scripts: create_repository_mysql.sql, create_quartz_mysql.sql y create_jcr_mysql.sql
Se puede ejecutar los scripts SQL desde la línea de comandos, de la siguiente forma:
mysql -u root -ppassword < /path/to/create_repository_mysql.sql mysql -u root -ppassword < /path/to/create_quartz_mysql.sql mysql -u root -ppassword < /path/to/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.4\tomcat\lib. NOTA: sí existe un driver JDBC para MySQL en el directorio, de preferencia reemplazarlo por uno más reciente.
4. Editar el archivo context.xml ubicado en el directorio: \biserver-ce-5.4\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. Editar el archivo web.xml en el directorio \biserver-ce-5.4\tomcat\webapps\pentaho\WEB-INF. En la línea 76 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-5.4\pentaho-solutions\system
El resto de configuraciones se realizarán en éste directorio.
6. Ir al subdirectorio /hibernate y editar el archivo hibernate-settings.xml, cambiar la etiqueta <config-file>
<?xml version='1.0' encoding='utf-8'?> <settings> <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
7. 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
8. 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
9. Editar el archivo repository.xml de Jackrabbit en el directorio \biserver-ce-5.4\pentaho-solutions\system\jackrabbit. Realizar los siguientes pasos para que Jackrabbit apunte 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 79 a la 83
- Configuración del DataStore: descomentar de la línea 97 a la 108. Comentar la línea 151
- Configuración del Workspace: descomentar de la línea 219 a la 226. Comentar de la línea 255 a la 259. Descomentar de la línea 274 a la 281. Comentar de la línea 312 a la 317
- Configuración del Versionamiento: descomentar de la línea 367 a la 374. Comentar de la línea 402 a la 406. Descomentar de la línea 422 a la 429. Comentar de la línea 459 a la 464
10. Reiniciar el servidor de BI de Pentaho
Hola, primero que todo te felicito por el aporte, esta buenisimo. Por otro lado quisiera saber si tienes conocimiento de como realizar la autenticación del pentaho apuntandole directamente a una base de datos de usuarios y roles que tengamos. Gracias.
ResponderBorrarHola, conecta el servidor pero si vuelvo a cargarlo me da el error --->
ResponderBorrarEstado HTTP 404 -
type Informe de estado mensaje descripción El recurso requerido no está disponible.
Como lo soluciono?
Tantos años después y este POST sigue salvando vidas! Gracias 1000
ResponderBorrar