Buscar en el Blog

lunes, 18 de junio de 2018

Cómo configurar DataCleaner para conectarse a MS SQL Server usando ActiveDirectory

En ésta publicación explico el procedimiento para configurar DataCleaner y que esté en capacidad de conectarse a Microsoft SQL Server usando Active Directory en el sistema operativo Windows.

1) Descargar el controlador JDBC jTDS del siguiente link

2) Descomprimir el archivo jtds-1.3.1-dist.zip

3) Copiar el archivo jtds-1.3.1.jar al directorio \DataCleaner\lib

4) Copiar el archivo ntlmauth.dll:

Para máquinas virtuales de 64 bits

Copiar el archivo ntlmauth.dll ubicado en jtds-1.3.1-dist\x64\SSO a \DataCleaner\lib

Para máquinas virtuales de 32 bits

Copiar el archivo ntlmauth.dll ubicado en jtds-1.3.1-dist\x86\SSO a \DataCleaner\lib

5) Editar el archivo datacleaner.cmd, ubicar la línea en donde se llama a java e incluir la referencia al directorio lib dónde se copió la DLL del paso 4), como se muestra a continuación:

call java %DATACLEANER_JAVA_OPTS% "-Djava.library.path="="%DATACLEANER_LIB_HOME%lib" -jar "%DATACLEANER_LIB_HOME%\DataCleaner.jar"

6) En la sección de Manage Datastores seleccionar una conexión Microsoft SQL Server 

7) Ir a la pestaña Generic connection parameters y usar la siguiente cadena de conexión (Connection string)

jdbc:jtds:sqlserver://localhost:1433/master;domain=nombreDelDominio;useUnicode=true;characterEncoding=UTF-8

lunes, 11 de junio de 2018

Configuración de Pentaho Server 8.x para PostgreSQL

En ésta publicación explico el procedimiento para configurar los repositorios de metadatos de Pentahohibernate, quartz jackrabbit en la base de datos PostgreSQL v9.6

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

Pre-requisitos.-
  • Tener instalado y configurado el JDK v1.8, en la siguiente publicación se explica el procedimiento
  • Tener instalado la base de datos  PostgreSQL v9.6
  • Haber descargado la aplicación pentaho-server y haberla copiado y descomprimido en el directorio: \pentaho-server-ce-8.x
  • Haber descargado el controlador JDBC para  PostgreSQL
Configuración paso a paso.-

1. Ir al directorio \pentaho-server\data aquí se encuentran los scripts para MySQL, Oracle, SQL Server y PostgreSQL

2. Abrir el directorio postgresql y ejecutar los scripts: create_repository_postgresql.sqlcreate_quartz_postgresql.sql y create_jcr_postgresql.sql

NOTA: password es la contraseña por defecto para los usuarios hibuser del repositorio hibernate,  pentaho_user del repositorio quartz, y jcr_user del repositorio jackrabbit

Configuración de Tomcat

3. Copiar el driver JDBC Tipo 4 de PostgreSQL (postgresql-42.1.4.jar) al directorio \pentaho-server\tomcat\lib.

NOTA: Borrar el driver postgresql-42.1.1.jar existente de tal forma que solo quede el archivo postgresql-42.1.4.jar

4. Editar el archivo context.xml ubicado en el directorio: \pentaho-server\tomcat\webapps\pentaho\META-INF. Colocar la siguiente configuración para cambiar la conexión a PostgreSQL
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/pentaho" docbase="webapps/pentaho/">
 <Resource name="jdbc/Hibernate" auth="Container" type="javax.sql.DataSource"
  factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxTotal="20" maxIdle="5"
  maxWaitMillis="10000" username="hibuser" password="password"
  driverClassName="org.postgresql.Driver" url="jdbc:postgresql://localhost:5432/hibernate"
  validationQuery="select version();" />
  
 <Resource name="jdbc/Quartz" auth="Container" type="javax.sql.DataSource"
  factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxTotal="20" maxIdle="5"
  maxWaitMillis="10000" username="pentaho_user" password="password"
  driverClassName="org.postgresql.Driver" url="jdbc:postgresql://localhost:5432/quartz"
  validationQuery="select version();"/>
</Context>

5. Eliminar el archivo pentaho.xml del directorio: \pentaho-server\tomcat\conf\Catalina\localhost

6. Editar el archivo web.xml en el directorio \pentaho-server\tomcat\webapps\pentaho\WEB-INF. Comentar las secciones: [BEGIN HSQLDB DATABASES] y [BEGIN HSQLDB STARTER]

Configuración en Pentaho Server

Todos los archivos de configuración del servidor central de Pentaho Community Edition (pentaho-server) se encuentran en el directorio: \pentaho-server\pentaho-solutions\system

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

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

NOTA: no olvidar de editar el archivo postgresql.hibernate.cfg.xml sí la base de datos está en otro servidor

8. Editar el archivo applicationContext-spring-security-hibernate.properties y cambiar la configuración de conexión a PostgreSQL como se muestra a continuación:
jdbc.driver=org.postgresql.Driver
jdbc.url=jdbc:postgresql://localhost:5432/hibernate
jdbc.username=hibuser
jdbc.password=password
hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect

9. En la base de datos quartz crear la siguiente tabla:
CREATE TABLE "qrtz"
(
NAME VARCHAR(200) NOT NULL,
PRIMARY KEY (NAME)
);

ALTER TABLE "qrtz" OWNER TO pentaho_user;

10. Editar el archivo repository.xml de Jackrabbit en el directorio \pentaho-server\pentaho-solutions\system\jackrabbit. Realizar los siguientes pasos para apuntar Jackrabbit al repositorio de base de datos creado en PostgreSQL:
  • Configuración del FileSystem: descomentar de la línea 61 a la 68. Comentar de la línea 79 a la 83
  • Configuración del DataStore: descomentar de la línea 123 a la 134. Comentar de la línea 150 a la 152
  • Configuración del FileSystem: descomentar de la línea 236 a la 243. Comentar de la línea 255 a la 259
  • Configuración del PersistenceManager: descomentar de la línea 293 a la 300. Comentar de la línea 312 a la 317
  • Configuración del FileSystem: descomentar de la línea 368 a la 375. Comentar de la línea 386 a la 390
  • Configuración del PersistenceManager: descomentar de la línea 425 a la 432. Comentar de la línea 443 a la 448
11. Reiniciar el servidor Pentaho Server
12. Borrar el cache del navegador web (Browser) y abrir http://localhost:8080

Consideraciones Importantes

En sistemas operativos Windows, sí se ejecutó pentaho-server antes de realizar ésta configuración usando la base de datos por defecto HSQLDB, es conveniente eliminar el contenido de los siguientes directorios para evitar comportamientos inesperados:
  • \pentaho-server\tomcat\work\Catalina\* 
  • \pentaho-server\tomcat\temp\* 
  • \pentaho-server\pentaho-solutions\system\karaf\caches\* 
  • \pentaho-server\pentaho-solutions\system\jackrabbit\repository
NOTA: de preferencia igual limpiar el cache del navegador web con el que se esté trabajando.

viernes, 25 de mayo de 2018

Cómo obtener el checksum de un archivo

Cuando descargamos archivos de Internet grandes es posible que éstos no se descarguen correctamente, para verificar que el archivo es consistente muchas páginas donde descargamos suelen colocar lo que se conoce como el checksum.

Por ejemplo, cuando accedemos a la página de descarga de Pentaho Server se puede observar que se encuentran los siguientes archivos:
.
├── pentaho-server-ce-8.1.0.0-365.zip
└── pentaho-server-ce-8.1.0.0-365.zip.sum

El archivo con extensión .sum posee el checksum para el archivo pentaho-server-ce-8.1.0.0-365.zip

Para verificar el checksum de un archivo abriendo una terminal de comandos se puede ejecutar lo siguiente:

En Windows.-
CertUtil -hashfile pentaho-server-ce-8.1.0.0-365.zip

En Mac OS X.-
openssl sha1 pentaho-server-ce-8.1.0.0-365.zip

Sí la descarga fue exitosa el valor obtenido de checksum para este ejemplo tiene que ser igual al indicado en el archivo pentaho-server-ce-8.1.0.0-365.zip.sum:
SHA1=19f622a329b74a05de0ad0d0d5d1c911565ba471

martes, 20 de marzo de 2018

Cómo corregir el bug para guardar reportes generados en Saiku v3.15

En el visor Saiku Analytics v3.15 para Pentaho Server v7.1 al momento de intentar grabar un reporte generado se queda cargando indefinidamente. Para corregir éste bug se tiene que realizar lo siguiente:

1) Ubicar el directorio /pentaho-server/pentaho-solutions/system/sparkl/lib/ e identificar los siguientes archivos:
cpf-core-7.1.0.0-12.jar
cpf-pentaho-7.1.0.0-12.jar
cpk-core-7.1.0.0-12.jar
cpk-pentaho5-7.1.0.0-12.jar

2) Copiar éstos archivos al directorio /pentaho-server/pentaho-solutions/system/saiku/lib/

3) Y eliminar los siguientes archivos del directorio:
cpf-core-6.0.0.0-353.jar
cpf-pentaho5-6.0.0.0-353.jar

4) Reinicar Pentaho Server

domingo, 14 de enero de 2018

Configuración de Pentaho Server 7.x para PostgreSQL

En ésta publicación explico el procedimiento para configurar los repositorios de metadatos de Pentahohibernate, quartz jackrabbit en la base de datos PostgreSQL v9.6

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

Pre-requisitos.-
  • Tener instalado y configurado el JDK v1.8, en la siguiente publicación se explica el procedimiento
  • Tener instalado la base de datos  PostgreSQL v9.6
  • Haber descargado la aplicación biserver-ce de Pentaho y haberla copiado y descomprimido en el directorio: \pentaho-server-ce-7.x
  • Haber descargado el controlador JDBC para  PostgreSQL
Configuración paso a paso.-

1. Ir al directorio \pentaho-server\data aquí se encuentran los scripts para MySQL, Oracle, SQL Server y PostgreSQL

2. Abrir el directorio postgresql y ejecutar los scripts: create_repository_postgresql.sqlcreate_quartz_postgresql.sql y create_jcr_postgresql.sql

NOTA: password es la contraseña por defecto para los usuarios hibuser del repositorio hibernate,  pentaho_user del repositorio quartz, y jcr_user del repositorio jackrabbit

Configuración de Tomcat

3. Copiar el driver JDBC Tipo 4 de PostgreSQL (postgresql-42.1.4.jar) al directorio \pentaho-server\tomcat\lib.

NOTA: Borrar el driver postgresql-9.3-x.jdbc4.jar existente de tal forma que solo quede el archivo postgresql-42.1.4.jar

4. Editar el archivo context.xml ubicado en el directorio: \pentaho-server\tomcat\webapps\pentaho\META-INF. Colocar la siguiente configuración para cambiar la conexión a PostgreSQL
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/pentaho" docbase="webapps/pentaho/">
 <Resource name="jdbc/Hibernate" auth="Container" type="javax.sql.DataSource"
  factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxTotal="20" maxIdle="5"
  maxWaitMillis="10000" username="hibuser" password="password"
  driverClassName="org.postgresql.Driver" url="jdbc:postgresql://localhost:5432/hibernate"
  validationQuery="select version();" />
  
 <Resource name="jdbc/Quartz" auth="Container" type="javax.sql.DataSource"
  factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxTotal="20" maxIdle="5"
  maxWaitMillis="10000" username="pentaho_user" password="password"
  driverClassName="org.postgresql.Driver" url="jdbc:postgresql://localhost:5432/quartz"
  validationQuery="select version();"/>
</Context>

5. Eliminar el archivo pentaho.xml del directorio: \pentaho-server\tomcat\conf\Catalina\localhost

6. Editar el archivo web.xml en el directorio \pentaho-server\tomcat\webapps\pentaho\WEB-INF. Comentar las secciones: [BEGIN HSQLDB DATABASES] y [BEGIN HSQLDB STARTER]

Configuración en BI Server

Todos los archivos de configuración del servidor central de Pentaho Community Edition (pentaho-server) se encuentran en el directorio: \pentaho-server\pentaho-solutions\system

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

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

NOTA: no olvidar de editar el archivo postgresql.hibernate.cfg.xml sí la base de datos está en otro servidor

8. Editar el archivo applicationContext-spring-security-hibernate.properties y cambiar la configuración de conexión a PostgreSQL como se muestra a continuación:
jdbc.driver=org.postgresql.Driver
jdbc.url=jdbc:postgresql://localhost:5432/hibernate
jdbc.username=hibuser
jdbc.password=password
hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect

9. En la base de datos quartz crear la siguiente tabla:
CREATE TABLE "qrtz"
(
NAME VARCHAR(200) NOT NULL,
PRIMARY KEY (NAME)
);

ALTER TABLE "qrtz" OWNER TO pentaho_user;

10. Editar el archivo repository.xml de Jackrabbit en el directorio \pentaho-server\pentaho-solutions\system\jackrabbit. Realizar los siguientes pasos para apuntar Jackrabbit al repositorio de base de datos creado en PostgreSQL:
  • Configuración del FileSystem: descomentar de la línea 61 a la 68. Comentar de la línea 79 a la 83
  • Configuración del DataStore: descomentar de la línea 123 a la 134. Comentar de la línea 150 a la 152
  • Configuración del FileSystem: descomentar de la línea 236 a la 243. Comentar de la línea 255 a la 259
  • Configuración del PersistenceManager: descomentar de la línea 293 a la 300. Comentar de la línea 312 a la 317
  • Configuración del FileSystem: descomentar de la línea 368 a la 375. Comentar de la línea 386 a la 390
  • Configuración del PersistenceManager: descomentar de la línea 425 a la 432. Comentar de la línea 443 a la 448
11. Reiniciar el servidor de Pentaho

Consideraciones Importantes

En sistemas operativos Windows, sí se ejecutó pentaho-server antes de realizar ésta configuración usando la base de datos por defecto HSQLDB, es conveniente eliminar el contenido de los siguientes directorios para evitar comportamientos inesperados:
  • \pentaho-server\tomcat\work\Catalina\* 
  • \pentaho-server\tomcat\temp\* 
  • \pentaho-server\pentaho-solutions\system\karaf\caches\* 
  • \pentaho-server\pentaho-solutions\system\jackrabbit\repository
NOTA: de preferencia igual limpiar el cache del navegador web con el que se esté trabajando.

viernes, 5 de enero de 2018

Cómo configurar un repositorio basado en archivos para Pentaho Data Integration

En ésta publicación explico el procedimiento para configurar un repositorio basado en archivos (File Repository) para Pentaho Data Integration (PDI).

Instrucciones.-

1. Ir al directorio de PDI y ejecutar la herramienta Spoon.bat

2. Hacer clic en la opción Connect y seleccionar la opción Other Repositories

3. Seleccionar File Repository y hacer clic en el botón Get Started

4. Colocar los siguientes valores para las propiedades:
Display Name = PDI_FILE_REPO
Location = c:\sistema_dwh_bi\src\etls



5. Hacer clic en el botón Finish y en la opción Connect Now

NOTA IMPORTANTE.-

Sí al seguir éstas instrucciones y querer conectarse la pantalla se muestra totalmente en blanco, ubicar el directorio .\data-integration\system\karaf y eliminar la carpeta caches. Después de realizar éste procedimiento reiniciar Spoon.bat.