Business Intelligence con Pentaho Suite

De Master Solutions Wiki
(Diferencias entre revisiones)
Saltar a: navegación, buscar
(Instalar el driver JDBC en tomcat)
 
(No se muestran 190 ediciones intermedias realizadas por un usuario)
Línea 1: Línea 1:
=Instalación y configuracion de Pentaho en Linux=
+
= Diccionario de Datos Data Warehouse=
 +
 
 +
[https://dbdocs.io/alberto.yualeb8dfc10606/EternumBIS  Acceso al diccionario de datos ]
 +
 
 +
=Instalación y configuración de Pentaho en Linux=
  
 
== Objetivo ==
 
== Objetivo ==
  
Instalar y configurar Pentaho BI Suite, en un sistema operativo Linux, en este caso openSuSE, utilizando MySQL como base de datos.
+
El presente documento tiene como objetivo desarrollar los pasos a realizar para instalar y configurar Pentaho BI Suite, en un ambiente de producción, sobre un sistema operativo Linux, en este caso openSuSE, utilizando MySQL como base de datos.
  
Pentaho es el resultado de la fusión de varios proyectos de código abierto y algunas herramientas adicionales, para formar un producto BI de caracteristicas world class.
+
Pentaho es el resultado de la fusión de varios proyectos de código abierto y algunas herramientas adicionales, para formar un producto BI de características world class.
  
 
== Audiencia ==
 
== Audiencia ==
Línea 13: Línea 17:
 
== Alcance ==
 
== Alcance ==
  
La intención es poder instalar y configurar todos los componentes de Pentaho, no haciendo una descripcion detallada de los mismos, ya que esto es motivo de otros documentos, incluso mas extensos.
+
La intención es poder instalar y configurar todos los componentes de Pentaho, no haciendo una descripción detallada de los mismos, ya que esto es motivo de otros documentos, incluso mas extensos.
  
 
==Requisitos==
 
==Requisitos==
  
* Una pc standard o notebook, con al menos 2Gb de RAM y un disco de 100Gb o mas y un procesador de de 2 cores o superior. Cuando mejor procesador, mejor resultado.
+
* Una pc estándar o notebook, con al menos 2Gb de RAM y un disco de 100Gb o mas y un procesador de de 2 cores o superior. Cuanto mejor procesador, mejor resultado.
* Una version de linux instalada
+
* Una versión de linux instalada
* Un ambiente java SDK instalado (puede ser el del sistema operativo o puede ser una version de Oracle instalada a los efectos de utilizarla con Pentaho)
+
* Un ambiente java SDK instalado (puede ser el del sistema operativo o puede ser una versión de Oracle instalada a los efectos de utilizarla con Pentaho)
 
* Base de datos MySQL
 
* Base de datos MySQL
 
* El proceso de instalación supodrá que trabajamos sobre la maquina que se está instalando (no en una maquina remota)
 
* El proceso de instalación supodrá que trabajamos sobre la maquina que se está instalando (no en una maquina remota)
  
 
==Proceso==
 
==Proceso==
===Instalar Pentaho BI Server 3.10 (comunmente denominada 4.0)===
+
===Instalar Pentaho BI Server 4.50===
  
 
Obtener el software de [http://sourceforge.net/projects/pentaho/files/ la pagina de pentaho].
 
Obtener el software de [http://sourceforge.net/projects/pentaho/files/ la pagina de pentaho].
  
[[Archivo:Pentaho_files.png||||Ingresar a la seccion Business Intelligence Server y descargar la ultima version]]
+
[[Archivo:Pentaho_files.png||||Ingresar a la sección Business Intelligence Server y descargar la ultima versión]]
  
Ingresar a la seccion Business Intelligence Server y descargar la ultima version estable.
+
Ingresar a la sección Business Intelligence Server y descargar la ultima versión estable.
  
 
* Crear un usuario llamado pentaho para administrar el software (no es conveniente que sea root). Salvo que se indique lo contrario, todos los comandos deben ser ejecutados con este usuario ($)
 
* Crear un usuario llamado pentaho para administrar el software (no es conveniente que sea root). Salvo que se indique lo contrario, todos los comandos deben ser ejecutados con este usuario ($)
* Crear un directorio o carpeta la contener todo el software. Personalmente utilizo openSuse y me gusta instalar nuevos paquetes de software en la carpeta /local
+
* Crear un directorio o carpeta para contener todo el software. Personalmente utilizo openSuse y me gusta instalar nuevos paquetes de software en la carpeta /local
  
 
   # mkdir /local/pentaho
 
   # mkdir /local/pentaho
 
   # chown pentaho:users /local/pentaho
 
   # chown pentaho:users /local/pentaho
   $ tar xvzf biserver-ce-3.10.0-stable.tar.gz
+
  $ cd /local/pentaho
 +
   $ tar xvzf biserver-ce-4.5.0-stable.tar
  
 
Esto creara dos carpetas, una llamada biserver-ce y la otra administration-console
 
Esto creara dos carpetas, una llamada biserver-ce y la otra administration-console
 
En ésta version 3.10 hay algunos errores que hay que solucionar
 
 
* Una vez instalado el software, descargar [http://www.stratebi.es/todobi/Ene12/jpivot-1.8.0-100420.jar ésta version] de jpivot
 
* Hacer un backup de la version instalada:
 
 
 
  $ cd /biserver-ce/tomcat/webapps/pentaho/WEB-INF/lib/
 
  $ mv jpivot-1.8.0-100420.jar jpivot-1.8.0-100420.bak
 
 
* Copiar la version de jpivot descargada en la carpeta mencionada mas arriba
 
 
  $ cp jpivot-1.8.0-100420.jar /biserver-ce/tomcat/webapps/pentaho/WEB-INF/lib/
 
  
 
* Verificar los permisos para ejecutar pentaho
 
* Verificar los permisos para ejecutar pentaho
Línea 57: Línea 50:
 
   $ chmod +x *.sh pentaho/
 
   $ chmod +x *.sh pentaho/
  
Particularmente prefiero bajar la ultima version de java SDK desde el site de oracle a utilizar la que viene con el sistema operativo, ya que por problemas de licencias, ésta puede no estar incluída.
+
====Instalar Java====
 +
Particularmente prefiero bajar la ultima versión de java SDK desde el site de oracle a utilizar la que viene con el sistema operativo, ya que por problemas de licencias, ésta puede no estar incluída.
  
* Descargar la ultima version desde la [http://www.oracle.com/technetwork/java/javase/downloads/index.html pagina Java de Oracle]
+
* Descargar la ultima versión desde la [http://www.oracle.com/technetwork/java/javase/downloads/index.html pagina Java de Oracle]
* Instalar Java en /local/java (Seguir las instrucciones de Oracle)
+
* Instalar Java en /local/pentaho/java (Seguir las instrucciones de Oracle)
 
* Setear la variable de ambiente JAVA_HOME para el usuario pentaho
 
* Setear la variable de ambiente JAVA_HOME para el usuario pentaho
  
Línea 67: Línea 61:
 
* Añadir al final del archivo  
 
* Añadir al final del archivo  
  
   export JAVA_HOME=/local/java"
+
  export PENTAHO_HOME=/local/pentaho
 +
   export JAVA_HOME=/local/pentaho/java
 +
  export JRE_HOME=/local/pentaho/java/jre
  
 
* Cerrar la sesion de pentaho e ingresar nuevamente para que el ambiente tome la nueva variable definida
 
* Cerrar la sesion de pentaho e ingresar nuevamente para que el ambiente tome la nueva variable definida
Línea 73: Línea 69:
  
 
   $ echo $JAVA_HOME
 
   $ echo $JAVA_HOME
 +
 +
====Arrancar el servidor====
  
 
Realizadas esta tareas, podemos arrancar por primera vez el servidor pentaho, de la siguiente forma:
 
Realizadas esta tareas, podemos arrancar por primera vez el servidor pentaho, de la siguiente forma:
Línea 82: Línea 80:
  
 
   http://localhost:8080/pentaho
 
   http://localhost:8080/pentaho
 +
 +
Si todo va bien deberíamos ver la siguiente pantalla:
 +
 +
[[Archivo:PUC.png|900px|Pentaho User Console (PUC)]]
  
 
Podemos ingresar con los usuarios definidos por defecto, como ser joe/password, y verificar el funcionamiento de pentaho revisando algunos de los ejemplo que trae implementados (algunos contienen errores, que seran corregidos mas adelante en éste documento)
 
Podemos ingresar con los usuarios definidos por defecto, como ser joe/password, y verificar el funcionamiento de pentaho revisando algunos de los ejemplo que trae implementados (algunos contienen errores, que seran corregidos mas adelante en éste documento)
Línea 87: Línea 89:
 
Si algo no funciono correctamente, podemos verificar los logs del sistema situados en:
 
Si algo no funciono correctamente, podemos verificar los logs del sistema situados en:
  
* /local/pentaho/biserver-ce/tomcat/bin/pentaho.log
 
 
* /local/pentaho/biserver-ce/tomcat/logs/
 
* /local/pentaho/biserver-ce/tomcat/logs/
  
===Configurar Pentaho para utilizar con MySQL===
+
Verificado que todo funcione correctamente, procedemos a detener el servidor con
 +
 
 +
  $ cd /local/pentaho/biserver-ce
 +
  $ ./stop-pentaho.sh
 +
 
 +
=Configurar Pentaho para utilizar con MySQL=
  
El servidor de Pentaho BI utiliza por defecto la base de datos HSQLDB. Esta base de datos se crea y se carga en memoria cada vez que se inicia el servidor pentaho.
+
El servidor de Pentaho BI utiliza por defecto la base de datos [http://hsqldb.org/ HSQLDB]. Esta base de datos se crea y se carga en memoria cada vez que se inicia el servidor pentaho.
  
 
La idea es cambiar al motor MySQL, para darle mas potencia y generar así un ambiente de producción, ya que el anterior (HSQLDB) es eficiente solo a los efectos de una demostración del producto.
 
La idea es cambiar al motor MySQL, para darle mas potencia y generar así un ambiente de producción, ya que el anterior (HSQLDB) es eficiente solo a los efectos de una demostración del producto.
Línea 98: Línea 104:
 
Debemos realizar las siguientes tareas:
 
Debemos realizar las siguientes tareas:
  
* Crear dos bases de datos, hibernate and quartz. La primera utilizada para configuracion y la segunda para procesos internos (scheduling).
+
* Crear dos bases de datos, hibernate and quartz. La primera utilizada para configuración y la segunda para procesos internos (scheduling).
 
* Crear otra base de datos, sampledata,  para contener los datos de la demo de la empresa SteelWheels.
 
* Crear otra base de datos, sampledata,  para contener los datos de la demo de la empresa SteelWheels.
 
* Crear una base de datos para un ejemplo mas complejo, que viene en mondrian: foodmart
 
* Crear una base de datos para un ejemplo mas complejo, que viene en mondrian: foodmart
 
* Crear una base de datos vacía para desarrolladores: loading_area
 
* Crear una base de datos vacía para desarrolladores: loading_area
* y por último crear una base de datos llamada datamart para reportes
+
* y por último crear una base de datos llamada datamart para nuestros reportes y analisis
  
 
que serán descriptas mas adelante
 
que serán descriptas mas adelante
  
Ahora vamos a modificar la configuracion de pentaho (7 archvivos), para poder indicarle que utilice MySQL en vez de HSQLDB. Estos pasos son por un lado simple, pero por el otro tediosos y nos va a llevar un par de horas ponerlo en funcionamiento.
+
Ahora vamos a modificar la configuración de pentaho (7 archivos), para poder indicarle que utilice MySQL en vez de HSQLDB. Estos pasos son por un lado simple, pero por el otro tediosos y nos va a llevar un par de horas ponerlo en funcionamiento.
  
 
Vamos a necesitar:
 
Vamos a necesitar:
Línea 112: Línea 118:
 
* Una base de datos MySQL, con acceso de administrador
 
* Una base de datos MySQL, con acceso de administrador
 
* Comandos de SQL para crear las bases de datos y cargar su contenido, que los podemos obtener de [https://docs.google.com/leaf?id=0B9Jmocc0fj_EN2MyZjc4ZjEtNzFkNC00NzIzLTljZTctZjIzZWQ1NjU3MzJk&hl=en SteelWheels & MySQL] y de [http://pentaho-en.phi-integration.com/mondrian/mysql-foodmart-database/foodmart_mysql.tar.gz?attredirects=0&d=1 Foodmart]
 
* Comandos de SQL para crear las bases de datos y cargar su contenido, que los podemos obtener de [https://docs.google.com/leaf?id=0B9Jmocc0fj_EN2MyZjc4ZjEtNzFkNC00NzIzLTljZTctZjIzZWQ1NjU3MzJk&hl=en SteelWheels & MySQL] y de [http://pentaho-en.phi-integration.com/mondrian/mysql-foodmart-database/foodmart_mysql.tar.gz?attredirects=0&d=1 Foodmart]
* Driver JDBC de MySQL, que lo podemos obtener de [http://dev.mysql.com/downloads/mirror.php?id=13597 MySQL]
+
* Driver JDBC de MySQL, que lo podemos obtener de [http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.25.tar.gz/from/http://cdn.mysql.com/ MySQL]
  
 
Los pasos a realizar son:
 
Los pasos a realizar son:
Línea 122: Línea 128:
 
# Redireccionar hibernate hacia MySQL
 
# Redireccionar hibernate hacia MySQL
 
# Configurar spring-security para MySQL
 
# Configurar spring-security para MySQL
# Modificar la lista de drivers a utilizar para cada conexion jndi
+
# Modificar la lista de drivers a utilizar para cada conexión jndi
 
# Instalar el driver JDBC en tomcat
 
# Instalar el driver JDBC en tomcat
# Editar el script de inicio para deshabilitar HSQLDB
+
# Editar configuración para deshabilitar HSQLDB
 
# Configurar los datasources con la Pentaho Administration Console (PAC)
 
# Configurar los datasources con la Pentaho Administration Console (PAC)
 
# Probar el sistema
 
# Probar el sistema
  
  
==== Crear las bases de datos ====
+
== Crear las bases de datos ==
  
 
Conectarse a la base de datos y crear dos bases de datos
 
Conectarse a la base de datos y crear dos bases de datos
  
  $ mysql -u root -p
+
$ mysql -u root -p
  ''Enter password: (Ingresar la contraseña del administrador de mysql)''
+
''Enter password: (Ingresar la contraseña del administrador de mysql)''
  ...
+
...
  ...
+
...
  mysql> create database loading_area;
+
mysql> create database '''loading_area''';
  ''Query OK, 1 row affected (0.07 sec)''
+
''Query OK, 1 row affected (0.07 sec)''
  mysql> create database datamart;
+
 
   ''Query OK, 1 row affected (0.07 sec)''
+
mysql> create database '''datamart''';
 +
''Query OK, 1 row affected (0.07 sec)''
 +
    
 +
mysql> create database '''foodmart''';
 +
''Query OK, 1 row affected (0.07 sec)''
  
====Cargar las bases de datos de ejemplos ====
+
==Cargar las bases de datos de ejemplos ==
  
 
Sin salir de la conexion anterior al servidor mysql, ejecute los comando obtenidos en la descarga realizada anteriormente de los archivos:
 
Sin salir de la conexion anterior al servidor mysql, ejecute los comando obtenidos en la descarga realizada anteriormente de los archivos:
Línea 154: Línea 164:
 
en el orden mostrado precedentemente
 
en el orden mostrado precedentemente
  
  mysql> source 1_create_repository_mysql.sql;
+
mysql> source 1_create_repository_mysql.sql;
  mysql> source 2_create_quartz_mysql.sql;
+
mysql> source 2_create_quartz_mysql.sql;
  mysql> source 3_create_sample_datasource_mysql.sql;
+
mysql> source 3_create_sample_datasource_mysql.sql;
  mysql> source 4_load_sample_users_mysql.sql;
+
mysql> source 4_load_sample_users_mysql.sql;
  mysql> source 5_sampledata_mysql.sql;
+
mysql> source 5_sampledata_mysql.sql;
 +
mysql> use foodmart;
 +
mysql> source foodmart_mysql.sql;
 +
 
 +
==Configurar usuarios mysql y permisos==
  
====Configurar usuarios mysql y permisos====
+
Teóricamente los shells anteriores crean los usuarios necesarios para la configuración. En caso de que no existan, crearlos de la siguiente forma:
 +
Crear un usuario llamado pentaho_user y otro pentaho_admin en mysql.
  
Crear un usuario lamado pentaho_user y otro pentaho_admin en mysql.
+
  mysql> create user 'pentaho_user'@'%'  identified by 'password';
 +
  mysql> create user 'pentaho_admin'@'%' identified by 'password';
  
  mysql> create user 'pentaho_user'@'%' identified by '************';
+
Es importante cambiar las contraseñas de éstos usuarios, y ademas colocarlas correctamente en todos los archivos donde nos sea solicitada, de la misma forma.
  mysql> create user 'pentaho_admin'@'%' identified by '************';
+
 
    
 
    
y asignar permisos en las bases de datos datamart, foodmart, hibernate, quartz y sampledata.
+
Luego, asignar permisos en las bases de datos datamart, foodmart, hibernate, quartz y sampledata.
  
   mysql> GRANT SELECT, INSERT, UPDATE, DELETE ON datamart.* TO 'pentaho_user'@'%' IDENTIFIED BY '*************' WITH GRANT OPTION;
+
   mysql> GRANT SELECT, INSERT, UPDATE, DELETE ON datamart.*   TO 'pentaho_user'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
   mysql> GRANT SELECT, INSERT, UPDATE, DELETE ON foodmart.* TO 'pentaho_user'@'%' IDENTIFIED BY '*************' WITH GRANT OPTION;
+
   mysql> GRANT SELECT, INSERT, UPDATE, DELETE ON foodmart.*   TO 'pentaho_user'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
   mysql> GRANT SELECT, INSERT, UPDATE ON hibernate.* TO 'pentaho_user'@'%' IDENTIFIED BY '*************' WITH GRANT OPTION;
+
   mysql> GRANT SELECT, INSERT, UPDATE         ON hibernate.* TO 'pentaho_user'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
   mysql> GRANT SELECT, INSERT, UPDATE ON quartz.* TO 'pentaho_user'@'%' IDENTIFIED BY '*************' WITH GRANT OPTION;
+
   mysql> GRANT SELECT, INSERT, UPDATE         ON quartz.*     TO 'pentaho_user'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
   mysql> GRANT SELECT, INSERT, UPDATE, DELETE ON sampledata* TO 'pentaho_user'@'%' IDENTIFIED BY '*************' WITH GRANT OPTION;
+
   mysql> GRANT SELECT, INSERT, UPDATE, DELETE ON sampledata.* TO 'pentaho_user'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
  mysql> GRANT SELECT, INSERT, UPDATE, DELETE ON datamart.* TO 'pentaho_user'@'%' IDENTIFIED BY '*************' WITH GRANT OPTION;
+
 
   mysql> flush privileges;
 
   mysql> flush privileges;
  
   mysql> GRANT ALL PRIVILEGES ON datamart.* TO 'pentaho_admin'@'%' IDENTIFIED BY '*************' WITH GRANT OPTION;
+
   mysql> GRANT ALL PRIVILEGES ON datamart.*   TO 'pentaho_admin'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
   mysql> GRANT ALL PRIVILEGES ON foodmart.* TO 'pentaho_admin'@'%' IDENTIFIED BY '*************' WITH GRANT OPTION;
+
   mysql> GRANT ALL PRIVILEGES ON foodmart.*   TO 'pentaho_admin'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
   mysql> GRANT ALL PRIVILEGES ON hibernate.* TO 'pentaho_admin'@'%' IDENTIFIED BY '*************' WITH GRANT OPTION;
+
   mysql> GRANT ALL PRIVILEGES ON hibernate.* TO 'pentaho_admin'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
   mysql> GRANT ALL PRIVILEGES ON quartz.* TO 'pentaho_admin'@'%' IDENTIFIED BY '*************' WITH GRANT OPTION;
+
   mysql> GRANT ALL PRIVILEGES ON quartz.*     TO 'pentaho_admin'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
   mysql> GRANT ALL PRIVILEGES ON sampledata* TO 'pentaho_admin'@'%' IDENTIFIED BY '*************' WITH GRANT OPTION;
+
   mysql> GRANT ALL PRIVILEGES ON sampledata.* TO 'pentaho_admin'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
  mysql> GRANT ALL PRIVILEGES ON datamart.* TO 'pentaho_admin'@'%' IDENTIFIED BY '*************' WITH GRANT OPTION;
+
 
   mysql> flush privileges;
 
   mysql> flush privileges;
  
 +
==Modificar las conexiones pentaho hacia MySQL==
  
====Modificar las conexiones pentaho hacia MySQL====
+
Lanzar un terminal y editar el archivo '''/local/pentaho/biserver-ce/tomcat/webapps/pentaho/META-INF/context.xml'''
  
Lanzar un terminal y editar el archivo '''/local/pentaho/bi-server/tomcat/webapps/pentaho/META-INF/context.xml'''
+
   $ vi /local/pentaho/biserver-ce/tomcat/webapps/pentaho/META-INF/context.xml
 
+
   $ vi /local/pentaho/bi-server/tomcat/webapps/pentaho/META-INF/context.xml
+
  
 
y dejarlo de la siguiente forma:
 
y dejarlo de la siguiente forma:
  
  <?xml version="1.0" encoding="UTF-8"?> <Context path="/pentaho" docbase="webapps/pentaho/">
+
<?xml version="1.0" encoding="UTF-8"?> <Context path="/pentaho" docbase="webapps/pentaho/">
    <Resource name="jdbc/Hibernate" auth="Container" type="javax.sql.DataSource"
+
  <Resource name="jdbc/Hibernate" auth="Container" type="javax.sql.DataSource"
        factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxActive="20" maxIdle="5"
+
      factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxActive="20" maxIdle="5"
        maxWait="10000" username="hibuser" password="password"
+
      maxWait="10000" username="hibuser" password="password"
        driverClassName="'''com.mysql.jdbc.Driver'''" url="'''jdbc:mysql://localhost:3306/hibernate'''"
+
      driverClassName="'''com.mysql.jdbc.Driver'''" url="'''jdbc:mysql://localhost:3306/hibernate'''"
        validationQuery="'''select 1'''" />  
+
      validationQuery="'''select 1'''" />  
    <Resource name="jdbc/Quartz" auth="Container" type="javax.sql.DataSource"
+
  <Resource name="jdbc/Quartz" auth="Container" type="javax.sql.DataSource"
        factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxActive="20" maxIdle="5"
+
      factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxActive="20" maxIdle="5"
        maxWait="10000" username="pentaho_user" password="password"
+
      maxWait="10000" username="pentaho_user" password="password"
        driverClassName="'''com.mysql.jdbc.Driver'''" url="'''jdbc:mysql://localhost:3306/quartz'''"
+
      driverClassName="'''com.mysql.jdbc.Driver'''" url="'''jdbc:mysql://localhost:3306/quartz'''"
        validationQuery="'''select 1'''"/>
+
      validationQuery="'''select 1'''"/>
  </Context>
+
</Context>
  
 
en negrita se colocan los parametros que se modifican.
 
en negrita se colocan los parametros que se modifican.
  
''Nota'': Consultar [[Manual del vi]]
+
'''Notas'''
 +
* Verifica la contraseña del usuario pentaho_user
 +
* Consultar [[Manual del vi]]
  
====Redireccionar hibernate hacia MySQL ====
+
==Redireccionar hibernate hacia MySQL ==
  
Ahora, editar el archivo '''/local/pentaho/bi-server/pentaho-solutions/system/hibernate/hibernate-settings.xml''' con
+
Ahora, editar el archivo '''/local/pentaho/biserver-ce/pentaho-solutions/system/hibernate/hibernate-settings.xml''' con
  
   $ vi /local/pentaho/bi-server/pentaho-solutions/system/hibernate/hibernate-settings.xml
+
   $ vi /local/pentaho/biserver-ce/pentaho-solutions/system/hibernate/hibernate-settings.xml
  
 
y cambie lo siguiente:
 
y cambie lo siguiente:
Línea 235: Línea 249:
 
   <!-- replaces DefinitionVersionManager -->
 
   <!-- replaces DefinitionVersionManager -->
  
 +
==Configurar spring-security para MySQL==
  
====Configurar spring-security para MySQL====
+
Editar el archivo '''/local/pentaho/biserver-ce/pentaho-solutions/system/applicationContext-spring-security-hibernate.properties''' y cambiarlo por:
 
+
Editar el archivo '''/local/pentaho/biserver-ce/Pentaho-solutions/system/applicationContext-spring-security-hibernate.properties''' y cambiarlo por:
+
  
 
   jdbc.driver=com.mysql.jdbc.Driver
 
   jdbc.driver=com.mysql.jdbc.Driver
Línea 257: Línea 270:
 
   </bean>
 
   </bean>
  
 
+
==Modificar la lista de drivers a utilizar para cada conexion jndi ==
====Modificar la lista de drivers a utilizar para cada conexion jndi ====
+
  
 
Editar el archivo '''/local/pentaho/biserver-ce/pentaho-solutions/system/simple-jndi/jdbc.properties''' y cambiarlo a:
 
Editar el archivo '''/local/pentaho/biserver-ce/pentaho-solutions/system/simple-jndi/jdbc.properties''' y cambiarlo a:
  
  SampleData/type=javax.sql.DataSource
+
SampleData/type=javax.sql.DataSource
  SampleData/driver='''com.mysql.jdbc.Driver'''
+
SampleData/driver='''com.mysql.jdbc.Driver'''
  SampleData/url='''jdbc:mysql://localhost:3306'''/sampledata
+
SampleData/url='''jdbc:mysql://localhost:3306'''/sampledata
  SampleData/user=pentaho_user
+
SampleData/user=pentaho_user
  SampleData/password=password
+
SampleData/password=password
  Hibernate/type=javax.sql.DataSource
+
Hibernate/type=javax.sql.DataSource
  Hibernate/driver='''com.mysql.jdbc.Driver'''
+
Hibernate/driver='''com.mysql.jdbc.Driver'''
  Hibernate/url='''jdbc:mysql://localhost:3306'''/hibernate
+
Hibernate/url='''jdbc:mysql://localhost:3306'''/hibernate
  Hibernate/user=hibuser
+
Hibernate/user=hibuser
  Hibernate/password=password
+
Hibernate/password=password
  Quartz/type=javax.sql.DataSource
+
Quartz/type=javax.sql.DataSource
  Quartz/driver='''com.mysql.jdbc.Driver'''
+
Quartz/driver='''com.mysql.jdbc.Driver'''
  Quartz/url='''jdbc:mysql://localhost:3306'''/quartz
+
Quartz/url='''jdbc:mysql://localhost:3306'''/quartz
  Quartz/user=pentaho_user
+
Quartz/user=pentaho_user
  Quartz/password=password
+
Quartz/password=password
  SampleDataAdmin/type=javax.sql.DataSource
+
SampleDataAdmin/type=javax.sql.DataSource
  SampleDataAdmin/driver='''com.mysql.jdbc.Driver'''
+
SampleDataAdmin/driver='''com.mysql.jdbc.Driver'''
  SampleDataAdmin/url='''jdbc:mysql://localhost:3306'''/sampledata
+
SampleDataAdmin/url='''jdbc:mysql://localhost:3306'''/sampledata
  SampleDataAdmin/user=pentaho_admin
+
SampleDataAdmin/user=pentaho_admin
  SampleDataAdmin/password=password
+
SampleDataAdmin/password=password
  
 
para los nuevos datasources, agregar al final de l archivo:
 
para los nuevos datasources, agregar al final de l archivo:
  
  FoodMart/type=javax.sql.DataSource
+
FoodMart/type=javax.sql.DataSource
  FoodMart/driver=com.mysql.jdbc.Driver
+
FoodMart/driver=com.mysql.jdbc.Driver
  FoodMart/url=jdbc:mysql://localhost:3306/foodmart
+
FoodMart/url=jdbc:mysql://localhost:3306/foodmart
  FoodMart/user=pentaho_user
+
FoodMart/user=pentaho_user
  FoodMart/password=password
+
FoodMart/password=password
  LoadingArea/type=javax.sql.DataSource
+
LoadingArea/type=javax.sql.DataSource
  LoadingArea/driver=com.mysql.jdbc.Driver
+
LoadingArea/driver=com.mysql.jdbc.Driver
  LoadingArea/url=jdbc:mysql://localhost:3306/loading_area
+
LoadingArea/url=jdbc:mysql://localhost:3306/loading_area
  LoadingArea/user=pentaho_user
+
LoadingArea/user=pentaho_user
  LoadingArea/password=password
+
LoadingArea/password=password
  Datamart/type=javax.sql.DataSource
+
Datamart/type=javax.sql.DataSource
  Datamart/driver=com.mysql.jdbc.Driver
+
Datamart/driver=com.mysql.jdbc.Driver
  Datamart/url=jdbc:mysql://localhost:3306/datamart
+
Datamart/url=jdbc:mysql://localhost:3306/datamart
  Datamart/user=pentaho_user
+
Datamart/user=pentaho_user
  Datamart/password=password
+
Datamart/password=password
  
  
 
Se pueden eliminar la 5 lineas de shark, ya que no se utilizaran mas en Pentaho
 
Se pueden eliminar la 5 lineas de shark, ya que no se utilizaran mas en Pentaho
  
====Instalar el driver JDBC en tomcat ====
+
==Instalar el driver JDBC en tomcat ==
  
Instalar el driver descargado en la carpeta /local/pentaho/biserver-ce/tomcat/lib/
+
Instalar el driver descargado en la carpeta '''/local/pentaho/biserver-ce/tomcat/lib/'''
  
Debe reiniciar el servidor tomcat y es quye ya estaba corriendo.
+
  $ cp mysql-connector-java-5.1.25-bin.jar /local/pentaho/biserver-ce/tomcat/lib/
  
===Agregar y mantener usuarios y permisos===
+
Debe iniciar el servidor tomcat.
  
===Instalar el Plug-in Saiku===
+
==Editar configuración para deshabilitar HSQLDB ==
===Customizar el server de produccion===
+
 
===Instalar Pentaho Data Integration===
+
Para evitar el inicio de HSQLDB, se debe editar el archivo '''/local/pentaho/biserver-ce/tomcat/webapps/pentaho/WEB-INF/web.xml'''
===Instalar Pentaho Design Studio===
+
 
===Instalar Mondrian Schema Workbench===
+
  $ vi /local/pentaho/biserver-ce/tomcat/webapps/pentaho/WEB-INF/web.xml
===Instalar Pentaho Metadata Editor===
+
 
===Instalar Report Designer===
+
Este archivo debe ser modificado cuidadosamente, ya que posee un gran cantidad de parametros y realizar algo erroneo podria hacer que el servidor no funcione correctamente.
===Instalar el Dashboard Editor===
+
 
===Instalar Pentaho/Mondrian Aggregation Designer===
+
Localizar la linea 87 (o cercana) del archivo y comentar o borrar las lineas que tienen el siguiente contenido:
===Herramientas adicionales===
+
 
===Instalar Weka===
+
  <nowiki><!-- [BEGIN HSQLDB DATABASES]
 +
  <context-param>
 +
    <param-name>hsqldb-databases</param-name>
 +
      <param-value>sampledata@../../data/hsqldb/sampledata,hibernate@../../data/hsqldb/hibernate,quartz@../../data/hsqldb/quartz</param-value>
 +
    </context-param>
 +
  [END HSQLDB DATABASES] --></nowiki>
 +
 
 +
y en la linea 215 (o cercana) del mismo archivo, comentar o eliminar el siguiente contenido:
 +
 
 +
  <nowiki><!-- [BEGIN HSQLDB STARTER]
 +
  <listener> <listener-class>org.pentaho.platform.web.http.context.HsqldbStartupListener</listener-class> </listener>
 +
  [END HSQLDB STARTER] --></nowiki>
 +
 
 +
Editar el archivo '''/local/pentaho/biserver-ce/tomcat/conf/Catalina/localhost/pentaho.xml''' y editarlo en forma similar el '''context.xml''' es decir asi:
 +
 
 +
<?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>
 +
 
 +
==Configurar los datasources con la Pentaho Administration Console==
 +
 
 +
Vamos a la carpeta /local/pentaho/administrator-console y ejecutaamos:
 +
 
 +
  $ ./start-pac.sh
 +
 
 +
 
 +
Luego abrimos en el navegador (firefox, chrome, etc) la siguiente URL:
 +
 
 +
http://localhost:8099
 +
 
 +
e ingresamos con usuario y contraseña (admin/password)
 +
 
 +
Click en ''Administration'' y selecciones ''Database Connections''.
 +
 
 +
Click en el signo mas (+) para agregar nuevos datasource y agregar estos tres
 +
 
 +
{| border="2" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0; background: #f9f9f9; border: 1px #aaa solid; border-collapse: collapse; font-size: 95%;"
 +
|- align="center"
 +
|width="60 px" |'''Nombre''' || width="140 px" | '''Driver''' || width=240 px" | '''URL'''
 +
|-
 +
|FoodMart || com.mysql.jdbc.Driver  || jdbc:mysql://localhost:3306/foodmart
 +
|-
 +
|Datamart || com.mysql.jdbc.Driver  || jdbc:mysql://localhost:3306/datamart
 +
|-
 +
|LoadingArea || com.mysql.jdbc.Driver  || jdbc:mysql://localhost:3306/loading_area
 +
|}
 +
 
 +
En la configuración avanzada podemos poner: maxactcon=20, idleconn=5, wait=1000, query=SELECT 1
 +
 
 +
Salir del brownser y apagar el PAC
 +
 
 +
  $ ./stop-pac.sh
 +
 
 +
 
 +
==Probar el sistema==
 +
 
 +
Si todo fue bien, procedemos a arrancar el servidor pentaho desde la carpeta /loca/pentaho/biserver-ce con el comando
 +
 
 +
  $ ./start-pentaho.sh
 +
 
 +
 
 +
Abrimos un navegador de internet y colocamos
 +
 
 +
  http://localhost:8080/pentaho
 +
 
 +
Alli podemos probar algunos ejemplos de SteelWheel.
 +
 
 +
Algunos ejemplos de la "Colección de muestras y ejemplos" tienen fallas que corregimos con las siguientes modificaciones: (Solo para la versión 4.0 en la 4.5 siguen con falllas)
 +
 
 +
Editar todos los xaction de la carpeta /local/pentaho/biserver-ce/pentaho-solutions/bi-developers/chartbeans
 +
 
 +
  $ vi /local/pentaho/biserver-ce/pentaho-solutions/bi-developers/chartbeans/*.xaction
 +
 
 +
y reemplazar las apariciones de INTEGER por UNSIGNED.
 +
 
 +
Ademas en el archivo '''chartbeans_scatter.xaction''' reemplazar DEPT por DEPARTMENT
 +
 
 +
Tambien hay que modificar el archivo /local/pentaho/biserver-ce/pentaho-solutions/steel-wheels/charts/pentahoxml_picker.xaction y cambiar INTEGER por UNSIGNED
 +
 
 +
Como OpenFlash no funciona en la CE (Community Edition), debemos cambiarlo por JFree. Para ello en el archivo '''/local/pentaho/biserver-ce/pentaho-solutions/bi-developers/charts/chartbeans_dialchart.xml'''
 +
 
 +
  cambiar:
 +
  <chartModel chartEngine="OpenFlashChart">
 +
  por:
 +
  <chartModel chartEngine="JFreeChart">
 +
 
 +
para terminar la ejecucion del servidor ponemos
 +
 
 +
  $ ./stop-pentaho.sh
 +
 
 +
=Configurar el inicio automático de Pentaho=
 +
 
 +
En openSuSE, podemos colocar el siguiente script en /etc/init.d:
 +
 
 +
#!/bin/bash
 +
### BEGIN INIT INFO
 +
# Provides: start-pentaho stop-pentaho
 +
# Required-Start: $network $mysql
 +
# Required-Stop: $network $mysql
 +
# Default-Start: 2 3 4 5
 +
# Default-Stop: 0 1 6
 +
# Description: Pentaho BI Platform
 +
### END INIT INFO
 +
 +
export PENTAHO_HOME=/local/pentaho
 +
export JAVA_HOME=/local/pentaho/java
 +
export JRE_HOME=/local/pentaho/java/jre
 +
export PENTAHO_USER=pentaho
 +
 +
case "$1" in
 +
'start')
 +
 +
    echo "Iniciando pentaho biserver"
 +
    cd $PENTAHO_HOME/biserver-ce
 +
    su $PENTAHO_USER -c "./start-pentaho.sh > /tmp/pentaho.out 2>&1"
 +
 +
    echo "Iniciando pentaho administration-console"
 +
    cd $PENTAHO_HOME/administration-console
 +
    su $PENTAHO_USER -c "./start-pac.sh > /tmp/pentaho_console.out 2>&1 &"
 +
 +
    echo "ok"
 +
    ;;
 +
 +
'stop')
 +
 +
    echo "Finalizando pentaho administration-console"
 +
    cd $PENTAHO_HOME/administration-console
 +
    su $PENTAHO_USER -c "./stop-pac.sh >> /tmp/pentaho_console.out 2>&1 &"
 +
 +
    echo "Finalizando pentaho biserver"
 +
    cd $PENTAHO_HOME/biserver-ce
 +
    su $PENTAHO_USER -c "./stop-pentaho.sh >> /tmp/pentaho.out 2>&1"
 +
 +
    echo "ok"
 +
    ;;
 +
'restart')
 +
    $0 stop
 +
    sleep 5
 +
    $0 start
 +
    ;;
 +
 +
*)
 +
    echo "Usage: $0 (start|stop|restart)"
 +
 +
esac
 +
 +
exit 0
 +
         
 +
En este ejemplo, se administran tanto el PUC (Pentaho User Console) como el PAC (Pentaho Administrator Console). Una vez definidos los usuarios y sus permisos, es conveniente comentar las lineas del PAC y administrarlo manualmente, cada vez que se necesite.
 +
 
 +
Para configurar su inicio automático debemos ejecutar el siguiente comando:
 +
 
 +
chkconfig --add /etc/init.d/pentaho
 +
 
 +
Esto es todo.
 +
 
 +
=Agregar y mantener usuarios y roles=
 +
 
 +
En pentaho se pueden crear usuarios y roles, asignar usuarios adichos roles y asignar permisos por usuarios o por roles.
 +
 
 +
No hay un modulo de gestión de usuarios, es decir no hay politicas de cambios de contraseñas, ni posibilidad de que el usuario cambie su contraseña, sin necesitar del adminitrador del sistema. Por eso es muy recomendable informar a los usuarios de la confidencialidad de su contraseña.
 +
 
 +
Para gestionar los usuarios debemos acceder al PAC (''Pentaho Administration Console''), via la siguiente URL:
 +
 
 +
[http://localhost:8099 http://localhost:8099]
 +
 
 +
Si PAC no está disponible, debemos arrancar el servidor pentaho
 +
 
 +
# /etc/init.d/pentaho start
 +
 
 +
o simplemente levantar la consola de administracion via los siguientes comandos:
 +
 
 +
$ cd /local/pentaho/administration-console
 +
$ ./start-pac.sh
 +
 
 +
Una vez alli, damos click en la pestaña Administration y veremos una ventana similar a la siguiente:
 +
 
 +
[[Archivo:Pac.png|900px|PAC - Pentaho Administration Console]]
 +
 
 +
==Crear Roles==
 +
Para crear roles damos click en el signo "+" de la lista de roles y se abrira una ventana para ingresar un rol y su descripción.
 +
 
 +
==Asignar Usuarios a Roles==
 +
Dar click a un rol en la lista de roles. En el panel de la derecha dar click en el signo "+" de la lista de usuarios asignados (''Assigned Users''). Se abrirá una ventana. En el panel izquierdo seleccionar el usuario y dar click en el signo ">".
 +
 
 +
Para eliminar el usuarios del rol, podemos dar click en el usuario dentro de la lista de usuarios asignados (''Assigned Users'') y luego dar click al botón rojo 'X'. Se solicitará confirmación.
 +
 
 +
==Crear Usuarios==
 +
 
 +
Dar click en el icono de usuarios. Se desplegara una lista de usuarios del sistema. Luego click en el signo "+" de la lista de usuarios y se abrira una ventana para ingresar un el nombre del usuario, la constraseña y su confirmación y una descripción. Grabamos con Aceptar
 +
 
 +
==Modificar Roles y Usuarios==
 +
 
 +
Marcar en rol/usuarios dando click sobre él y en el panel derech realizar las modificaciones necesarias. Luego presionar el boton Update
 +
 
 +
==Eliminar Roles y Usuarios==
 +
 
 +
Marcar el rol o usuario a eliminar el la lista de roles o usuarios y luego dar click en el boton rojo 'X'. Se solicita confirmación.
 +
 
 +
=Instalar el Plug-in Saiku=
 +
 
 +
==Que es Saiku?==
 +
 
 +
Saiku es una herramienta para la visualización de información basada en cubos, que brinda al usuario una excelente interfaz para realizar análisis de forma fácil e intuitiva.
 +
 
 +
Es un ejemplo de las mas alta calidad que puede ofrecer el open source, simple y de alta tecnología.
 +
 
 +
Saiku se puede utilizar de diferentes maneras, a saber:
 +
 
 +
* Como plugin dentro del Pentaho
 +
* Como un servidor independiente para hacer análisis OLAP.
 +
* Como origen de datos de otras aplicaciones de visulización de información
 +
 
 +
==Instalación==
 +
 
 +
Para instalar Saiku dentro del Pentaho, debemos descargar dos archivos
 +
 
 +
# [http://analytical-labs.com/downloads/saiku-plugin-2.4.zip Saiku Plugin 2.4]
 +
# [http://analytical-labs.com/downloads/saiku-webapp-2.4.war Saiku Backend WAR 2.4]
 +
 
 +
Los pasos para instalar son los siguientes:
 +
 
 +
* Detener el servidor Pentaho
 +
 
 +
* Copiar el Saiku Plugin en el directorio / local/pentaho/biserver-ce/pentaho-solutions/system
 +
* Descomprimir el archivo
 +
* Copiar en la carpeta local/pentaho/biserver-ce/tomcat/webapps el archivo saiku-webapp-2.4.war
 +
* Reiniciar el servidor pentaho
 +
 
 +
La secuencia de comandos a realizar con el usuario pentaho, es la siguiente:
 +
 
 +
$ /etc/init.d/pentaho stop
 +
$ unzip saiku-plugin-2.4.zip
 +
$ cp saiku-webapp-2.4.war /local/pentaho/biserver-ce/tomcat/webapps
 +
$ /etc/init.d/pentaho start
 +
 
 +
Si todo fue bien, deberiamos poder ingresar a PUC y ver la pantalla de la siguiente forma:
 +
 
 +
[[Archivo:saiku.png|900px|Pentaho User Console con Saiku Instalado]]
 +
 
 +
Observar que arriba a la izquierda, debajo del menu herramientas, hay un icono nuevo, que es justamente el de Saiku.
 +
 
 +
=Customizar el servidor de producción=
 +
 
 +
Dentro de éste apartado realizaremos algunas modificaciones a la instalación del servidor Pentaho para que tenga una presentacion mas acorde a un ambiente real de producción.
 +
 
 +
===Cambiar el Logo de presentación===
 +
 
 +
Para cambiar el logo hay que ir a la siguiente carpeta:
 +
 
 +
$ cd /local/pentaho/biserver-ce/tomcat/webapps/pentaho-style/images/login
 +
 
 +
y allí cambiar el archivo logo.png. Hay que tener en cuenta el tamaño de la imagen, que por defecto es de 224x94 pixels.
 +
 
 +
Si se quiere modificar un poco la pagina, ya hay que tener un cierto conocimiento de html, para hacer algunos cambios, por ejemplo, para agrandar el espacio del logo.
 +
 
 +
La pagina jsp donde se cambian es:
 +
 
 +
$ cd /local/pentaho/biserver-ce/tomcat/webapps/pentaho/jsp
 +
$ vi PUCLogin.jsp
 +
 
 +
Allí podemos cambiar que cuando el usuario de click en la imagen, vaya a una pagina determinada por nosotros:
 +
 
 +
<a href="http://www.msci.com.ar" target="_blank"><img src="/pentaho-style/images/login/logo.png" alt="Master Solutions SRL" width="224" height="94" border="0" /></a>
 +
 
 +
en esta linea hemos cambiado el link y podriamos haber camabiado el tamño de la imagen.
 +
 
 +
=== Cambiar los links empresariales===
 +
 
 +
También podemos cambiar los link que están a a derecha, cambiando
 +
 
 +
<a href="http://www.pentaho.com" target="_blank">www.pentaho.com</a>
 +
 
 +
por
 +
 
 +
<a href="http://www.msci.com.ar" target="_blank">www.msci.com.ar</a>
 +
 
 +
y
 +
<a href="http://www.pentaho.com/contact/?puc=y" target="_blank"><%=Messages.getString("UI.PUC.LOGIN.CONTACT_US")%></a>
 +
por
 +
<a href="http://www.msci.com.ar/msci/Contacto/" target="_blank">Contáctenos</a>
 +
 
 +
=== Eliminar la selección de usuarios por defecto===
 +
 
 +
Si bien estos usuarios son útiles a la hora de una demo y/o conocer el producto, no deberían estar en un ambiente de producción, por lo que se recomienda eliminarlos realmente, utilizando PAC y tambien eliminando el combo de selección. Esto ultimo se realiza se la siguiente forma:
 +
 
 +
$ cd /local/pentaho/biserver-ce/pentaho-solutions/system/
 +
$ vi pentaho.xml
 +
 
 +
Poner en falso las siguientes lineas:
 +
 
 +
<login-show-users-list>false</login-show-users-list>
 +
<login-show-sample-users-hint>false</login-show-sample-users-hint>
 +
 
 +
Para que esta modificación tenga efecto, hay que reiniciar el servidor pentaho.
 +
 
 +
===Ajustes finales de presentación===
 +
 
 +
Conociendo un poco de html, se pueden hacer algunos cambios más en el archivo PUClogin.jsp, incluso cambiar el texto que esta a la izquierda de los campos de usuario y contraseña.
 +
 
 +
Como ejemplo, va la siguiente imagen:
 +
 
 +
[[Archivo:PUC Tailored.png|900px|Pentaho User Console modificado para producción]]
 +
 
 +
===Modificar el tiempo de conexión===
 +
 
 +
El tiempo de conexión estandar de pentaho es de 30 minutos. Éste valor puede modificarse en:
 +
 
 +
$ cd /local/pentaho/biserver-ce/tomcat/conf/
 +
$ vi web.xml
 +
 
 +
y modificar el valor de
 +
 
 +
<session-timeout>120</session-timeout>
 +
 
 +
para pasarlo a 2 horas. La unidad de medida del session-timeout esta en minutos
 +
 
 +
 
 +
=== Establecer la contraseña del publisher===
 +
 
 +
Esta autorización es necesaria cuando un desarrollador quiere por ejemplo, publicar un cubo en el server. Si no esta seteada, no será posible publicar nada en él.
 +
 
 +
Esta contraseña se configura en:
 +
 
 +
$ cd /local/pentaho/biserver-ce/pentaho-solutions/system
 +
$ vi publisher_config.xml
 +
 
 +
y establecer el valor de
 +
 
 +
<publisher-password>alguna contraseña</publisher-password>
 +
 
 +
Se debe reiniciar el server para que tenga efecto la modificación
 +
 
 +
== Modificar contraseñas y administradores ==
 +
 
 +
Hay que realizar varios cambios para hacer esto y ser muy cuidadoso a la hora de actualizar los archivos. Los pasos son los siguientes:
 +
 
 +
* Configurar un nuevo usuario como administrador
 +
** Iniciar PAC (si es que no esta iniciado)
 +
** Ingresar a PAC con [http://localhost:8099 http://localhost:8099]
 +
** Crear un usuario
 +
** Asignar el rol Admin al usuario creado recientemente
 +
* Parar el PAC y el PUC
 +
* Cambiar las contraseñas de la base de datos
 +
** Cambiar las contraseñas de penthao_user, pentaho_admin, hibuser
 +
** Ingresar a Mysql y colocar:
 +
set password for pentaho_user@'%'  = password('holamundo');
 +
set password for pentaho_admin@'%' = password('quelindo');
 +
set password for hibuser@'%'      = password('hacefrio');
 +
* Modificar los siguientes archivos con las contraseñas seleccionadas
 +
''Contraseña del usuario hibuser en:''
 +
 +
/local/pentaho/biserver-ce/pentaho-solutions/system/hibernate/'''mysql5.hibernate.cfg.xml''',
 +
 
 +
''y de todos los usuarios en:''
 +
 
 +
/local/pentaho/biserver-ce/pentaho-solutions/system/hibernate/'''jdbc.properties'''
 +
/local/pentaho/biserver-ce/pentaho-solutions/system/'''applicationContext-spring-security-jdbc.xml'''
 +
 
 +
''y de los usuarios hibuser y pentaho_user en,''
 +
 
 +
/local/pentaho/biserver-ce/tomcat/conf/Catalina/localhost/'''pentaho.xml'''
 +
/local/pentaho/biserver-ce/tomcat/webapps/pentaho/META-INF/'''context.xml'''
 +
 
 +
* Modificar URL de datasources en:
 +
/local/pentaho/biserver-ce/pentaho-solutions/system/olap/datasources.xml
 +
cambiado
 +
<URL>…userid=joe&amp;password=password</URL>
 +
por
 +
<URL>…userid=NUEVO_USUARIO_ADMINISTRADOR&amp;password=NUEVA_CONTRASEÑA</URL>
 +
 
 +
Verificar en los ejemplos, que hay archivos *.xaction, que pueden necesitar similares modificaciones para que funcionen
 +
 
 +
* Iniciar PUC y PAC
 +
* Borrar los usuarios de ejemplos  joe, pat, suzy, tiffany con PAC
 +
 
 +
== Eliminar mensajes de alertas==
 +
 
 +
A partir de la versión 3.9 de pentaho, Jpivot es reemplazada por Pentaho Analyzer Tool (PAT), motivo del cual, sale continuamente un alerta bastante molesta al final del informe de Jpivot.
 +
 
 +
Para eliminarlo debemos ir a:
 +
 
 +
$ cd /local/pentaho/biserver-ce/tomcat/webapps/pentaho/adhoc/styles
 +
$ vi  jpivot.css
 +
 
 +
y agregar al final
 +
 
 +
#deprecatedWarning { display: none; }
 +
 
 +
Hay otra alerta que se puede eliminar (por molesta), agregando al final del archivo, lo siguiente
 +
 
 +
$ vi adhoc.css
 +
 
 +
#waqrDeprecatedAlert { display: none; }
 +
 
 +
 
 +
== Modificar el puerto en donde se ejecuta Tomcat ==
 +
 
 +
Lo primer que debemos hacer es bajar el servicio
 +
 
 +
# /etc/init.d/pentaho stop
 +
 
 +
Luego vamos a la siguiente carpeta
 +
 
 +
$ cd /local/pentaho/biserver-ce/tomcat/webapps/pentaho/WEB-INF/
 +
 
 +
y editamos el archivo web.xml
 +
$ vi web.xml
 +
Alli buscamos la palabra localhost y encontraremos al similar a esto:
 +
<context-param>
 +
  <param-name>fully-qualified-server-url</param-name>
 +
  <param-value>http://localhost:8080/pentaho/</param-value>
 +
</context-param>
 +
y lo modificamos por
 +
<context-param>
 +
  <param-name>fully-qualified-server-url</param-name>
 +
  <param-value>http://localhost:8888/pentaho/</param-value>
 +
</context-param>
 +
podríamos incluso cambiar el nombre del server.
 +
 
 +
Guardamos el archivo y editamos el server.conf
 +
$ cd /local/pentaho/biserver-ce/tomcat/conf
 +
$ vi server.xml
 +
Buscamos y cambiamos
 +
<Connector URIEncoding=”UTF-8″ port=”8086” protocol=”HTTP/1.1″ connectionTimeout=”20000″ redirectPort=”8443″ />
 +
por
 +
<Connector URIEncoding=”UTF-8″ port=”8888” protocol=”HTTP/1.1″ connectionTimeout=”20000″ redirectPort=”8443″ />
 +
 
 +
Otro archivo a modificar es el datasources.xml
 +
$ cd /local/pentaho/biserver-ce/pentaho-solutions/system/olap/
 +
$ vi datasources.xml
 +
 
 +
Puede haber algun otro archivo que necesite ser modificado, dependiente de la configuración y servicios que este brindando el tomcat, pero básicamente con estos cambios debería funcionar perfectamente el Pentaho.
 +
 
 +
== Configurar la cuenta de envio de mail==
 +
 
 +
El servidor BI de pentaho, puede comunicar determinadas actividades que realiza a los usuarios mediante el envio de mails automaticos. Aqui veremos como y donde se configura.
 +
 
 +
Ir a la siguiente carpeta
 +
$ de /local/pentaho/biserver-ce/pentaho-solutions/system/smtp-email
 +
$ vi email_config.xml
 +
Alli buscar y configurar los siguientes parámetros:
 +
<mail.smtp.host>su servidor de mail de salida<mail.smtp.host>
 +
<mail.smtp.port>puerto</mail.smtp.port>
 +
<mail.userid>usuario</mail.userid>
 +
<mail.password>contraseña</mail.password>
 +
 
 +
Por ejemplo, si usamos un acuenta de google, deberia quedar algo similar a ésto:
 +
 
 +
<mail.smtp.host>'''smtp.gmail.com'''<mail.smtp.host>
 +
<mail.smtp.port>'''587'''</mail.smtp.port>
 +
<mail.userid>'''juancito.lopez@gmail.com'''</mail.userid>
 +
<mail.password>'''contraseña'''</mail.password>
 +
 
 +
=Instalar Pentaho Data Integration=
 +
 
 +
=Instalar Pentaho Design Studio=
 +
=Instalar Mondrian Schema Workbench=
 +
=Instalar Pentaho Metadata Editor=
 +
=Instalar Report Designer=
 +
 
 +
=Instalar el Dashboard Editor=
 +
 
 +
El Dashboard editor es una herramienta muy sencilla de utilizar, que nos permite crear tableros de comando en pocos minutos.
 +
 
 +
El camino mas sencillo para instalarlo es utilizar el [https://github.com/pmalves/ctools-installer ctools-installer.sh].
 +
 
 +
Una vez que bajamos el archivo, realizamos los siguientes pasos:
 +
$ sudo /etc/init.d/pentaho stop
 +
$ cd /local/pentaho
 +
$ cp -r biserver-ce biserver-ce.backup
 +
$ ctools-installer.sh -s /local/pentaho/biserver-ce/pentaho-solutions -w /local/pentaho/biserver-ce/tomcat/webapps/pentaho -y
 +
$ sudo /etc/init.d/pentaho start
 +
No debería haber complicaciones.
 +
 
 +
=Instalar Pentaho/Mondrian Aggregation Designer=
 +
=Herramientas adicionales=
 +
=Instalar Weka=
  
 
= Historial de Cambios =
 
= Historial de Cambios =
Línea 328: Línea 826:
 
{| border="2" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0; background: #f9f9f9; border: 1px #aaa solid; border-collapse: collapse; font-size: 95%;"
 
{| border="2" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0; background: #f9f9f9; border: 1px #aaa solid; border-collapse: collapse; font-size: 95%;"
 
|- align="center"
 
|- align="center"
|width="60 px" |'''Revisión''' || width="100 px" | '''Autor''' || width=140 px" | '''Fecha''' || width="250 px" | '''Descripción'''
+
|width="60 px" |'''Revisión''' || width="150 px" | '''Autor''' || width=140 px" | '''Fecha''' || width="350 px" | '''Descripción'''
 +
 
 
|- align="center"
 
|- align="center"
|1 || Alberto Julio Yualé  || 27 de abril de 2012 || align="left" | Creación de documento
+
|4 || Alberto Julio Yualé  || 19 de noviembre de 2012 || align="left" |
 +
* Se actualiza la instalación del plugin Saiku 2.4.
 +
 
 +
|- align="center"
 +
|3 || Alberto Julio Yualé  || 27 de julio de 2012 || align="left" |
 +
* Se agrega la instalación del Dashboard Editor.
 +
* Se agrega la configuración para el envío de mail.
 +
 
 +
|- align="center"
 +
|2 || Alberto Julio Yualé  || 24 de julio de 2012 || align="left" |
 +
* Se verifican todos los pasos de la instalación.
 +
* Se agrega la configuración de Saiku.
 +
* Se agrega la definición de usuarios y roles
 +
|- align="center"
 +
 
 +
|1 || Alberto Julio Yualé  || 27 de abril de 2012 || align="left" |  
 +
* Creación de documento
 
|}
 
|}

Última revisión de 17:05 9 oct 2023

Contenido

[editar] Diccionario de Datos Data Warehouse

Acceso al diccionario de datos

[editar] Instalación y configuración de Pentaho en Linux

[editar] Objetivo

El presente documento tiene como objetivo desarrollar los pasos a realizar para instalar y configurar Pentaho BI Suite, en un ambiente de producción, sobre un sistema operativo Linux, en este caso openSuSE, utilizando MySQL como base de datos.

Pentaho es el resultado de la fusión de varios proyectos de código abierto y algunas herramientas adicionales, para formar un producto BI de características world class.

[editar] Audiencia

Este documento es para personas con alguna experiencia en linux, manejo de la linea de comandos, que necesite implementar una herramienta BI 100% gratuita

[editar] Alcance

La intención es poder instalar y configurar todos los componentes de Pentaho, no haciendo una descripción detallada de los mismos, ya que esto es motivo de otros documentos, incluso mas extensos.

[editar] Requisitos

  • Una pc estándar o notebook, con al menos 2Gb de RAM y un disco de 100Gb o mas y un procesador de de 2 cores o superior. Cuanto mejor procesador, mejor resultado.
  • Una versión de linux instalada
  • Un ambiente java SDK instalado (puede ser el del sistema operativo o puede ser una versión de Oracle instalada a los efectos de utilizarla con Pentaho)
  • Base de datos MySQL
  • El proceso de instalación supodrá que trabajamos sobre la maquina que se está instalando (no en una maquina remota)

[editar] Proceso

[editar] Instalar Pentaho BI Server 4.50

Obtener el software de la pagina de pentaho.

Ingresar a la sección Business Intelligence Server y descargar la ultima versión

Ingresar a la sección Business Intelligence Server y descargar la ultima versión estable.

  • Crear un usuario llamado pentaho para administrar el software (no es conveniente que sea root). Salvo que se indique lo contrario, todos los comandos deben ser ejecutados con este usuario ($)
  • Crear un directorio o carpeta para contener todo el software. Personalmente utilizo openSuse y me gusta instalar nuevos paquetes de software en la carpeta /local
 # mkdir /local/pentaho
 # chown pentaho:users /local/pentaho
 $ cd /local/pentaho
 $ tar xvzf biserver-ce-4.5.0-stable.tar

Esto creara dos carpetas, una llamada biserver-ce y la otra administration-console

  • Verificar los permisos para ejecutar pentaho
 $ chmod +x *.sh pentaho/

[editar] Instalar Java

Particularmente prefiero bajar la ultima versión de java SDK desde el site de oracle a utilizar la que viene con el sistema operativo, ya que por problemas de licencias, ésta puede no estar incluída.

  • Descargar la ultima versión desde la pagina Java de Oracle
  • Instalar Java en /local/pentaho/java (Seguir las instrucciones de Oracle)
  • Setear la variable de ambiente JAVA_HOME para el usuario pentaho
 $ vi /home/pentaho/.profile
  • Añadir al final del archivo
 export PENTAHO_HOME=/local/pentaho
 export JAVA_HOME=/local/pentaho/java
 export JRE_HOME=/local/pentaho/java/jre
  • Cerrar la sesion de pentaho e ingresar nuevamente para que el ambiente tome la nueva variable definida
  • Verificar con
 $ echo $JAVA_HOME

[editar] Arrancar el servidor

Realizadas esta tareas, podemos arrancar por primera vez el servidor pentaho, de la siguiente forma:

 $ cd /local/pentaho/biserver-ce
 $ ./start-pentaho.sh

Abrimos un navegador, por ejemplo firefox y colocamos:

 http://localhost:8080/pentaho

Si todo va bien deberíamos ver la siguiente pantalla:

Pentaho User Console (PUC)

Podemos ingresar con los usuarios definidos por defecto, como ser joe/password, y verificar el funcionamiento de pentaho revisando algunos de los ejemplo que trae implementados (algunos contienen errores, que seran corregidos mas adelante en éste documento)

Si algo no funciono correctamente, podemos verificar los logs del sistema situados en:

  • /local/pentaho/biserver-ce/tomcat/logs/

Verificado que todo funcione correctamente, procedemos a detener el servidor con

 $ cd /local/pentaho/biserver-ce
 $ ./stop-pentaho.sh

[editar] Configurar Pentaho para utilizar con MySQL

El servidor de Pentaho BI utiliza por defecto la base de datos HSQLDB. Esta base de datos se crea y se carga en memoria cada vez que se inicia el servidor pentaho.

La idea es cambiar al motor MySQL, para darle mas potencia y generar así un ambiente de producción, ya que el anterior (HSQLDB) es eficiente solo a los efectos de una demostración del producto.

Debemos realizar las siguientes tareas:

  • Crear dos bases de datos, hibernate and quartz. La primera utilizada para configuración y la segunda para procesos internos (scheduling).
  • Crear otra base de datos, sampledata, para contener los datos de la demo de la empresa SteelWheels.
  • Crear una base de datos para un ejemplo mas complejo, que viene en mondrian: foodmart
  • Crear una base de datos vacía para desarrolladores: loading_area
  • y por último crear una base de datos llamada datamart para nuestros reportes y analisis

que serán descriptas mas adelante

Ahora vamos a modificar la configuración de pentaho (7 archivos), para poder indicarle que utilice MySQL en vez de HSQLDB. Estos pasos son por un lado simple, pero por el otro tediosos y nos va a llevar un par de horas ponerlo en funcionamiento.

Vamos a necesitar:

  • Una base de datos MySQL, con acceso de administrador
  • Comandos de SQL para crear las bases de datos y cargar su contenido, que los podemos obtener de SteelWheels & MySQL y de Foodmart
  • Driver JDBC de MySQL, que lo podemos obtener de MySQL

Los pasos a realizar son:

  1. Crear las bases de datos
  2. Cargar las bases de datos de ejemplos
  3. Configurar usuarios y permisos
  4. Modificar las conexiones pentaho hacia MySQL (hibernate y quartz)
  5. Redireccionar hibernate hacia MySQL
  6. Configurar spring-security para MySQL
  7. Modificar la lista de drivers a utilizar para cada conexión jndi
  8. Instalar el driver JDBC en tomcat
  9. Editar configuración para deshabilitar HSQLDB
  10. Configurar los datasources con la Pentaho Administration Console (PAC)
  11. Probar el sistema


[editar] Crear las bases de datos

Conectarse a la base de datos y crear dos bases de datos

$ mysql -u root -p
Enter password: (Ingresar la contraseña del administrador de mysql)
...
...
mysql> create database loading_area;
Query OK, 1 row affected (0.07 sec)
  
mysql> create database datamart;
Query OK, 1 row affected (0.07 sec)
 
mysql> create database foodmart;
Query OK, 1 row affected (0.07 sec)

[editar] Cargar las bases de datos de ejemplos

Sin salir de la conexion anterior al servidor mysql, ejecute los comando obtenidos en la descarga realizada anteriormente de los archivos:

  • 1_create_repository_mysql.sql
  • 2_create_quartz_mysql.sql
  • 3_create_sample_datasource_mysql.sql
  • 4_load_sample_users_mysql.sql
  • 5_sampledata_mysql.sql

en el orden mostrado precedentemente

mysql> source 1_create_repository_mysql.sql;
mysql> source 2_create_quartz_mysql.sql;
mysql> source 3_create_sample_datasource_mysql.sql;
mysql> source 4_load_sample_users_mysql.sql;
mysql> source 5_sampledata_mysql.sql;
mysql> use foodmart;
mysql> source foodmart_mysql.sql;

[editar] Configurar usuarios mysql y permisos

Teóricamente los shells anteriores crean los usuarios necesarios para la configuración. En caso de que no existan, crearlos de la siguiente forma: Crear un usuario llamado pentaho_user y otro pentaho_admin en mysql.

 mysql> create user 'pentaho_user'@'%'  identified by 'password';
 mysql> create user 'pentaho_admin'@'%' identified by 'password';

Es importante cambiar las contraseñas de éstos usuarios, y ademas colocarlas correctamente en todos los archivos donde nos sea solicitada, de la misma forma.

Luego, asignar permisos en las bases de datos datamart, foodmart, hibernate, quartz y sampledata.

 mysql> GRANT SELECT, INSERT, UPDATE, DELETE ON datamart.*   TO 'pentaho_user'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
 mysql> GRANT SELECT, INSERT, UPDATE, DELETE ON foodmart.*   TO 'pentaho_user'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
 mysql> GRANT SELECT, INSERT, UPDATE         ON hibernate.*  TO 'pentaho_user'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
 mysql> GRANT SELECT, INSERT, UPDATE         ON quartz.*     TO 'pentaho_user'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
 mysql> GRANT SELECT, INSERT, UPDATE, DELETE ON sampledata.* TO 'pentaho_user'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
 mysql> flush privileges;
 mysql> GRANT ALL PRIVILEGES ON datamart.*   TO 'pentaho_admin'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
 mysql> GRANT ALL PRIVILEGES ON foodmart.*   TO 'pentaho_admin'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
 mysql> GRANT ALL PRIVILEGES ON hibernate.*  TO 'pentaho_admin'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
 mysql> GRANT ALL PRIVILEGES ON quartz.*     TO 'pentaho_admin'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
 mysql> GRANT ALL PRIVILEGES ON sampledata.* TO 'pentaho_admin'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
 mysql> flush privileges;

[editar] Modificar las conexiones pentaho hacia MySQL

Lanzar un terminal y editar el archivo /local/pentaho/biserver-ce/tomcat/webapps/pentaho/META-INF/context.xml

 $ vi /local/pentaho/biserver-ce/tomcat/webapps/pentaho/META-INF/context.xml

y dejarlo de la siguiente forma:

<?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>

en negrita se colocan los parametros que se modifican.

Notas

  • Verifica la contraseña del usuario pentaho_user
  • Consultar Manual del vi

[editar] Redireccionar hibernate hacia MySQL

Ahora, editar el archivo /local/pentaho/biserver-ce/pentaho-solutions/system/hibernate/hibernate-settings.xml con

 $ vi /local/pentaho/biserver-ce/pentaho-solutions/system/hibernate/hibernate-settings.xml

y cambie lo siguiente:

 <config-file>system/hibernate/mysql5.hibernate.cfg.xml</config-file>


dentro de la misma carpeta editar el archivo mysql5.hibernate.cfg.xml y verificar su contenido sea el que se presenta mas abajo

 <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
 <property name="connection.url">jdbc:mysql://localhost:3306/hibernate</property>
 <property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
 <property name="connection.username">hibuser</property>
 <property name="connection.password">password</property>
 <property name="connection.pool_size">10</property>
 <property name="show_sql">false</property>
 <property name="hibernate.jdbc.use_streams_for_binary">true</property>

[editar] Configurar spring-security para MySQL

Editar el archivo /local/pentaho/biserver-ce/pentaho-solutions/system/applicationContext-spring-security-hibernate.properties y cambiarlo por:

 jdbc.driver=com.mysql.jdbc.Driver
 jdbc.url=jdbc:mysql://localhost:3306/hibernate
 jdbc.username=hibuser
 jdbc.password=password
 hibernate.dialect=org.hibernate.dialect.MySQL5Dialect

guardar el archivo y editar applicationContext-spring-security-jdbc.xml en la misma carpeta y cambiar lo siguiente

 <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>

[editar] Modificar la lista de drivers a utilizar para cada conexion jndi

Editar el archivo /local/pentaho/biserver-ce/pentaho-solutions/system/simple-jndi/jdbc.properties y cambiarlo a:

SampleData/type=javax.sql.DataSource
SampleData/driver=com.mysql.jdbc.Driver
SampleData/url=jdbc:mysql://localhost:3306/sampledata
SampleData/user=pentaho_user
SampleData/password=password
Hibernate/type=javax.sql.DataSource
Hibernate/driver=com.mysql.jdbc.Driver
Hibernate/url=jdbc:mysql://localhost:3306/hibernate
Hibernate/user=hibuser
Hibernate/password=password
Quartz/type=javax.sql.DataSource
Quartz/driver=com.mysql.jdbc.Driver
Quartz/url=jdbc:mysql://localhost:3306/quartz
Quartz/user=pentaho_user
Quartz/password=password
SampleDataAdmin/type=javax.sql.DataSource
SampleDataAdmin/driver=com.mysql.jdbc.Driver
SampleDataAdmin/url=jdbc:mysql://localhost:3306/sampledata
SampleDataAdmin/user=pentaho_admin
SampleDataAdmin/password=password

para los nuevos datasources, agregar al final de l archivo:

FoodMart/type=javax.sql.DataSource
FoodMart/driver=com.mysql.jdbc.Driver
FoodMart/url=jdbc:mysql://localhost:3306/foodmart
FoodMart/user=pentaho_user
FoodMart/password=password
LoadingArea/type=javax.sql.DataSource
LoadingArea/driver=com.mysql.jdbc.Driver
LoadingArea/url=jdbc:mysql://localhost:3306/loading_area
LoadingArea/user=pentaho_user
LoadingArea/password=password
Datamart/type=javax.sql.DataSource
Datamart/driver=com.mysql.jdbc.Driver
Datamart/url=jdbc:mysql://localhost:3306/datamart
Datamart/user=pentaho_user
Datamart/password=password


Se pueden eliminar la 5 lineas de shark, ya que no se utilizaran mas en Pentaho

[editar] Instalar el driver JDBC en tomcat

Instalar el driver descargado en la carpeta /local/pentaho/biserver-ce/tomcat/lib/

 $ cp mysql-connector-java-5.1.25-bin.jar /local/pentaho/biserver-ce/tomcat/lib/

Debe iniciar el servidor tomcat.

[editar] Editar configuración para deshabilitar HSQLDB

Para evitar el inicio de HSQLDB, se debe editar el archivo /local/pentaho/biserver-ce/tomcat/webapps/pentaho/WEB-INF/web.xml

 $ vi /local/pentaho/biserver-ce/tomcat/webapps/pentaho/WEB-INF/web.xml

Este archivo debe ser modificado cuidadosamente, ya que posee un gran cantidad de parametros y realizar algo erroneo podria hacer que el servidor no funcione correctamente.

Localizar la linea 87 (o cercana) del archivo y comentar o borrar las lineas que tienen el siguiente contenido:

 <!-- [BEGIN HSQLDB DATABASES]
  <context-param> 
    <param-name>hsqldb-databases</param-name> 
      <param-value>sampledata@../../data/hsqldb/sampledata,hibernate@../../data/hsqldb/hibernate,quartz@../../data/hsqldb/quartz</param-value>
    </context-param>
  [END HSQLDB DATABASES] -->

y en la linea 215 (o cercana) del mismo archivo, comentar o eliminar el siguiente contenido:

 <!-- [BEGIN HSQLDB STARTER]
  <listener> <listener-class>org.pentaho.platform.web.http.context.HsqldbStartupListener</listener-class> </listener>
  [END HSQLDB STARTER] -->

Editar el archivo /local/pentaho/biserver-ce/tomcat/conf/Catalina/localhost/pentaho.xml y editarlo en forma similar el context.xml es decir asi:

<?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>

[editar] Configurar los datasources con la Pentaho Administration Console

Vamos a la carpeta /local/pentaho/administrator-console y ejecutaamos:

 $ ./start-pac.sh


Luego abrimos en el navegador (firefox, chrome, etc) la siguiente URL:

http://localhost:8099

e ingresamos con usuario y contraseña (admin/password)

Click en Administration y selecciones Database Connections.

Click en el signo mas (+) para agregar nuevos datasource y agregar estos tres

Nombre Driver URL
FoodMart com.mysql.jdbc.Driver jdbc:mysql://localhost:3306/foodmart
Datamart com.mysql.jdbc.Driver jdbc:mysql://localhost:3306/datamart
LoadingArea com.mysql.jdbc.Driver jdbc:mysql://localhost:3306/loading_area

En la configuración avanzada podemos poner: maxactcon=20, idleconn=5, wait=1000, query=SELECT 1

Salir del brownser y apagar el PAC

 $ ./stop-pac.sh


[editar] Probar el sistema

Si todo fue bien, procedemos a arrancar el servidor pentaho desde la carpeta /loca/pentaho/biserver-ce con el comando

 $ ./start-pentaho.sh


Abrimos un navegador de internet y colocamos

 http://localhost:8080/pentaho

Alli podemos probar algunos ejemplos de SteelWheel.

Algunos ejemplos de la "Colección de muestras y ejemplos" tienen fallas que corregimos con las siguientes modificaciones: (Solo para la versión 4.0 en la 4.5 siguen con falllas)

Editar todos los xaction de la carpeta /local/pentaho/biserver-ce/pentaho-solutions/bi-developers/chartbeans

 $ vi /local/pentaho/biserver-ce/pentaho-solutions/bi-developers/chartbeans/*.xaction

y reemplazar las apariciones de INTEGER por UNSIGNED.

Ademas en el archivo chartbeans_scatter.xaction reemplazar DEPT por DEPARTMENT

Tambien hay que modificar el archivo /local/pentaho/biserver-ce/pentaho-solutions/steel-wheels/charts/pentahoxml_picker.xaction y cambiar INTEGER por UNSIGNED

Como OpenFlash no funciona en la CE (Community Edition), debemos cambiarlo por JFree. Para ello en el archivo /local/pentaho/biserver-ce/pentaho-solutions/bi-developers/charts/chartbeans_dialchart.xml

 cambiar:
 <chartModel chartEngine="OpenFlashChart">
 por:
 <chartModel chartEngine="JFreeChart">

para terminar la ejecucion del servidor ponemos

 $ ./stop-pentaho.sh

[editar] Configurar el inicio automático de Pentaho

En openSuSE, podemos colocar el siguiente script en /etc/init.d:

#!/bin/bash
### BEGIN INIT INFO
# Provides: start-pentaho stop-pentaho
# Required-Start: $network $mysql
# Required-Stop: $network $mysql
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description: Pentaho BI Platform
### END INIT INFO

export PENTAHO_HOME=/local/pentaho
export JAVA_HOME=/local/pentaho/java
export JRE_HOME=/local/pentaho/java/jre
export PENTAHO_USER=pentaho

case "$1" in
'start')

   echo "Iniciando pentaho biserver"
   cd $PENTAHO_HOME/biserver-ce
   su $PENTAHO_USER -c "./start-pentaho.sh > /tmp/pentaho.out 2>&1"

   echo "Iniciando pentaho administration-console"
   cd $PENTAHO_HOME/administration-console
   su $PENTAHO_USER -c "./start-pac.sh > /tmp/pentaho_console.out 2>&1 &"

   echo "ok"
   ;;

'stop')

   echo "Finalizando pentaho administration-console"
   cd $PENTAHO_HOME/administration-console
   su $PENTAHO_USER -c "./stop-pac.sh >> /tmp/pentaho_console.out 2>&1 &"

   echo "Finalizando pentaho biserver"
   cd $PENTAHO_HOME/biserver-ce
   su $PENTAHO_USER -c "./stop-pentaho.sh >> /tmp/pentaho.out 2>&1"

   echo "ok"
   ;;
'restart')
   $0 stop
   sleep 5
   $0 start
   ;;

*)
   echo "Usage: $0 (start|stop|restart)"

esac

exit 0
          

En este ejemplo, se administran tanto el PUC (Pentaho User Console) como el PAC (Pentaho Administrator Console). Una vez definidos los usuarios y sus permisos, es conveniente comentar las lineas del PAC y administrarlo manualmente, cada vez que se necesite.

Para configurar su inicio automático debemos ejecutar el siguiente comando:

chkconfig --add /etc/init.d/pentaho

Esto es todo.

[editar] Agregar y mantener usuarios y roles

En pentaho se pueden crear usuarios y roles, asignar usuarios adichos roles y asignar permisos por usuarios o por roles.

No hay un modulo de gestión de usuarios, es decir no hay politicas de cambios de contraseñas, ni posibilidad de que el usuario cambie su contraseña, sin necesitar del adminitrador del sistema. Por eso es muy recomendable informar a los usuarios de la confidencialidad de su contraseña.

Para gestionar los usuarios debemos acceder al PAC (Pentaho Administration Console), via la siguiente URL:

http://localhost:8099

Si PAC no está disponible, debemos arrancar el servidor pentaho

# /etc/init.d/pentaho start

o simplemente levantar la consola de administracion via los siguientes comandos:

$ cd /local/pentaho/administration-console
$ ./start-pac.sh

Una vez alli, damos click en la pestaña Administration y veremos una ventana similar a la siguiente:

PAC - Pentaho Administration Console

[editar] Crear Roles

Para crear roles damos click en el signo "+" de la lista de roles y se abrira una ventana para ingresar un rol y su descripción.

[editar] Asignar Usuarios a Roles

Dar click a un rol en la lista de roles. En el panel de la derecha dar click en el signo "+" de la lista de usuarios asignados (Assigned Users). Se abrirá una ventana. En el panel izquierdo seleccionar el usuario y dar click en el signo ">".

Para eliminar el usuarios del rol, podemos dar click en el usuario dentro de la lista de usuarios asignados (Assigned Users) y luego dar click al botón rojo 'X'. Se solicitará confirmación.

[editar] Crear Usuarios

Dar click en el icono de usuarios. Se desplegara una lista de usuarios del sistema. Luego click en el signo "+" de la lista de usuarios y se abrira una ventana para ingresar un el nombre del usuario, la constraseña y su confirmación y una descripción. Grabamos con Aceptar

[editar] Modificar Roles y Usuarios

Marcar en rol/usuarios dando click sobre él y en el panel derech realizar las modificaciones necesarias. Luego presionar el boton Update

[editar] Eliminar Roles y Usuarios

Marcar el rol o usuario a eliminar el la lista de roles o usuarios y luego dar click en el boton rojo 'X'. Se solicita confirmación.

[editar] Instalar el Plug-in Saiku

[editar] Que es Saiku?

Saiku es una herramienta para la visualización de información basada en cubos, que brinda al usuario una excelente interfaz para realizar análisis de forma fácil e intuitiva.

Es un ejemplo de las mas alta calidad que puede ofrecer el open source, simple y de alta tecnología.

Saiku se puede utilizar de diferentes maneras, a saber:

  • Como plugin dentro del Pentaho
  • Como un servidor independiente para hacer análisis OLAP.
  • Como origen de datos de otras aplicaciones de visulización de información

[editar] Instalación

Para instalar Saiku dentro del Pentaho, debemos descargar dos archivos

  1. Saiku Plugin 2.4
  2. Saiku Backend WAR 2.4

Los pasos para instalar son los siguientes:

  • Detener el servidor Pentaho
  • Copiar el Saiku Plugin en el directorio / local/pentaho/biserver-ce/pentaho-solutions/system
  • Descomprimir el archivo
  • Copiar en la carpeta local/pentaho/biserver-ce/tomcat/webapps el archivo saiku-webapp-2.4.war
  • Reiniciar el servidor pentaho

La secuencia de comandos a realizar con el usuario pentaho, es la siguiente:

$ /etc/init.d/pentaho stop
$ unzip saiku-plugin-2.4.zip
$ cp saiku-webapp-2.4.war /local/pentaho/biserver-ce/tomcat/webapps
$ /etc/init.d/pentaho start

Si todo fue bien, deberiamos poder ingresar a PUC y ver la pantalla de la siguiente forma:

Pentaho User Console con Saiku Instalado

Observar que arriba a la izquierda, debajo del menu herramientas, hay un icono nuevo, que es justamente el de Saiku.

[editar] Customizar el servidor de producción

Dentro de éste apartado realizaremos algunas modificaciones a la instalación del servidor Pentaho para que tenga una presentacion mas acorde a un ambiente real de producción.

[editar] Cambiar el Logo de presentación

Para cambiar el logo hay que ir a la siguiente carpeta:

$ cd /local/pentaho/biserver-ce/tomcat/webapps/pentaho-style/images/login

y allí cambiar el archivo logo.png. Hay que tener en cuenta el tamaño de la imagen, que por defecto es de 224x94 pixels.

Si se quiere modificar un poco la pagina, ya hay que tener un cierto conocimiento de html, para hacer algunos cambios, por ejemplo, para agrandar el espacio del logo.

La pagina jsp donde se cambian es:

$ cd /local/pentaho/biserver-ce/tomcat/webapps/pentaho/jsp
$ vi PUCLogin.jsp

Allí podemos cambiar que cuando el usuario de click en la imagen, vaya a una pagina determinada por nosotros:

<a href="http://www.msci.com.ar" target="_blank"><img src="/pentaho-style/images/login/logo.png" alt="Master Solutions SRL" width="224" height="94" border="0" /></a>

en esta linea hemos cambiado el link y podriamos haber camabiado el tamño de la imagen.

[editar] Cambiar los links empresariales

También podemos cambiar los link que están a a derecha, cambiando

<a href="http://www.pentaho.com" target="_blank">www.pentaho.com</a>

por

<a href="http://www.msci.com.ar" target="_blank">www.msci.com.ar</a>

y

<a href="http://www.pentaho.com/contact/?puc=y" target="_blank"><%=Messages.getString("UI.PUC.LOGIN.CONTACT_US")%></a>

por

<a href="http://www.msci.com.ar/msci/Contacto/" target="_blank">Contáctenos</a>

[editar] Eliminar la selección de usuarios por defecto

Si bien estos usuarios son útiles a la hora de una demo y/o conocer el producto, no deberían estar en un ambiente de producción, por lo que se recomienda eliminarlos realmente, utilizando PAC y tambien eliminando el combo de selección. Esto ultimo se realiza se la siguiente forma:

$ cd /local/pentaho/biserver-ce/pentaho-solutions/system/
$ vi pentaho.xml

Poner en falso las siguientes lineas:

<login-show-users-list>false</login-show-users-list>
<login-show-sample-users-hint>false</login-show-sample-users-hint>

Para que esta modificación tenga efecto, hay que reiniciar el servidor pentaho.

[editar] Ajustes finales de presentación

Conociendo un poco de html, se pueden hacer algunos cambios más en el archivo PUClogin.jsp, incluso cambiar el texto que esta a la izquierda de los campos de usuario y contraseña.

Como ejemplo, va la siguiente imagen:

Pentaho User Console modificado para producción

[editar] Modificar el tiempo de conexión

El tiempo de conexión estandar de pentaho es de 30 minutos. Éste valor puede modificarse en:

$ cd /local/pentaho/biserver-ce/tomcat/conf/
$ vi web.xml

y modificar el valor de

<session-timeout>120</session-timeout>

para pasarlo a 2 horas. La unidad de medida del session-timeout esta en minutos


[editar] Establecer la contraseña del publisher

Esta autorización es necesaria cuando un desarrollador quiere por ejemplo, publicar un cubo en el server. Si no esta seteada, no será posible publicar nada en él.

Esta contraseña se configura en:

$ cd /local/pentaho/biserver-ce/pentaho-solutions/system
$ vi publisher_config.xml

y establecer el valor de

<publisher-password>alguna contraseña</publisher-password>

Se debe reiniciar el server para que tenga efecto la modificación

[editar] Modificar contraseñas y administradores

Hay que realizar varios cambios para hacer esto y ser muy cuidadoso a la hora de actualizar los archivos. Los pasos son los siguientes:

  • Configurar un nuevo usuario como administrador
    • Iniciar PAC (si es que no esta iniciado)
    • Ingresar a PAC con http://localhost:8099
    • Crear un usuario
    • Asignar el rol Admin al usuario creado recientemente
  • Parar el PAC y el PUC
  • Cambiar las contraseñas de la base de datos
    • Cambiar las contraseñas de penthao_user, pentaho_admin, hibuser
    • Ingresar a Mysql y colocar:
set password for pentaho_user@'%'  = password('holamundo');
set password for pentaho_admin@'%' = password('quelindo');
set password for hibuser@'%'       = password('hacefrio');
  • Modificar los siguientes archivos con las contraseñas seleccionadas
Contraseña del usuario hibuser en:

/local/pentaho/biserver-ce/pentaho-solutions/system/hibernate/mysql5.hibernate.cfg.xml,
 
y de todos los usuarios en:
 
/local/pentaho/biserver-ce/pentaho-solutions/system/hibernate/jdbc.properties
/local/pentaho/biserver-ce/pentaho-solutions/system/applicationContext-spring-security-jdbc.xml
 
y de los usuarios hibuser y pentaho_user en,
 
/local/pentaho/biserver-ce/tomcat/conf/Catalina/localhost/pentaho.xml
/local/pentaho/biserver-ce/tomcat/webapps/pentaho/META-INF/context.xml
  • Modificar URL de datasources en:
/local/pentaho/biserver-ce/pentaho-solutions/system/olap/datasources.xml

cambiado

<URL>…userid=joe&password=password</URL>

por

<URL>…userid=NUEVO_USUARIO_ADMINISTRADOR&password=NUEVA_CONTRASEÑA</URL>

Verificar en los ejemplos, que hay archivos *.xaction, que pueden necesitar similares modificaciones para que funcionen

  • Iniciar PUC y PAC
  • Borrar los usuarios de ejemplos joe, pat, suzy, tiffany con PAC

[editar] Eliminar mensajes de alertas

A partir de la versión 3.9 de pentaho, Jpivot es reemplazada por Pentaho Analyzer Tool (PAT), motivo del cual, sale continuamente un alerta bastante molesta al final del informe de Jpivot.

Para eliminarlo debemos ir a:

$ cd /local/pentaho/biserver-ce/tomcat/webapps/pentaho/adhoc/styles
$ vi  jpivot.css

y agregar al final

#deprecatedWarning { display: none; }

Hay otra alerta que se puede eliminar (por molesta), agregando al final del archivo, lo siguiente

$ vi adhoc.css
#waqrDeprecatedAlert { display: none; }


[editar] Modificar el puerto en donde se ejecuta Tomcat

Lo primer que debemos hacer es bajar el servicio

# /etc/init.d/pentaho stop

Luego vamos a la siguiente carpeta

$ cd /local/pentaho/biserver-ce/tomcat/webapps/pentaho/WEB-INF/

y editamos el archivo web.xml

$ vi web.xml

Alli buscamos la palabra localhost y encontraremos al similar a esto:

<context-param>
  <param-name>fully-qualified-server-url</param-name>
  <param-value>http://localhost:8080/pentaho/</param-value>
</context-param>

y lo modificamos por

<context-param>
  <param-name>fully-qualified-server-url</param-name>
  <param-value>http://localhost:8888/pentaho/</param-value>
</context-param>

podríamos incluso cambiar el nombre del server.

Guardamos el archivo y editamos el server.conf

$ cd /local/pentaho/biserver-ce/tomcat/conf
$ vi server.xml

Buscamos y cambiamos

<Connector URIEncoding=”UTF-8″ port=”8086” protocol=”HTTP/1.1″ connectionTimeout=”20000″ redirectPort=”8443″ />

por

<Connector URIEncoding=”UTF-8″ port=”8888” protocol=”HTTP/1.1″ connectionTimeout=”20000″ redirectPort=”8443″ />

Otro archivo a modificar es el datasources.xml

$ cd /local/pentaho/biserver-ce/pentaho-solutions/system/olap/
$ vi datasources.xml

Puede haber algun otro archivo que necesite ser modificado, dependiente de la configuración y servicios que este brindando el tomcat, pero básicamente con estos cambios debería funcionar perfectamente el Pentaho.

[editar] Configurar la cuenta de envio de mail

El servidor BI de pentaho, puede comunicar determinadas actividades que realiza a los usuarios mediante el envio de mails automaticos. Aqui veremos como y donde se configura.

Ir a la siguiente carpeta

$ de /local/pentaho/biserver-ce/pentaho-solutions/system/smtp-email
$ vi email_config.xml

Alli buscar y configurar los siguientes parámetros:

<mail.smtp.host>su servidor de mail de salida<mail.smtp.host>
<mail.smtp.port>puerto</mail.smtp.port>
<mail.userid>usuario</mail.userid>
<mail.password>contraseña</mail.password>

Por ejemplo, si usamos un acuenta de google, deberia quedar algo similar a ésto:

<mail.smtp.host>smtp.gmail.com<mail.smtp.host>
<mail.smtp.port>587</mail.smtp.port>
<mail.userid>juancito.lopez@gmail.com</mail.userid>
<mail.password>contraseña</mail.password>

[editar] Instalar Pentaho Data Integration

[editar] Instalar Pentaho Design Studio

[editar] Instalar Mondrian Schema Workbench

[editar] Instalar Pentaho Metadata Editor

[editar] Instalar Report Designer

[editar] Instalar el Dashboard Editor

El Dashboard editor es una herramienta muy sencilla de utilizar, que nos permite crear tableros de comando en pocos minutos.

El camino mas sencillo para instalarlo es utilizar el ctools-installer.sh.

Una vez que bajamos el archivo, realizamos los siguientes pasos:

$ sudo /etc/init.d/pentaho stop
$ cd /local/pentaho
$ cp -r biserver-ce biserver-ce.backup
$ ctools-installer.sh -s /local/pentaho/biserver-ce/pentaho-solutions -w /local/pentaho/biserver-ce/tomcat/webapps/pentaho -y
$ sudo /etc/init.d/pentaho start

No debería haber complicaciones.

[editar] Instalar Pentaho/Mondrian Aggregation Designer

[editar] Herramientas adicionales

[editar] Instalar Weka

[editar] Historial de Cambios

Revisión Autor Fecha Descripción
4 Alberto Julio Yualé 19 de noviembre de 2012
  • Se actualiza la instalación del plugin Saiku 2.4.
3 Alberto Julio Yualé 27 de julio de 2012
  • Se agrega la instalación del Dashboard Editor.
  • Se agrega la configuración para el envío de mail.
2 Alberto Julio Yualé 24 de julio de 2012
  • Se verifican todos los pasos de la instalación.
  • Se agrega la configuración de Saiku.
  • Se agrega la definición de usuarios y roles
1 Alberto Julio Yualé 27 de abril de 2012
  • Creación de documento
Herramientas personales
Espacios de nombres

Variantes
Acciones
Navegación
Herramientas
Procedimientos
Procesos
Indicadores
Items de Configuración
Imprimir/exportar