Pentaho Data-Integration (ulimit -c unlimited) Problemas con Java

spoon

Hace unas horas empecé mi migración de todas mis máquinas a Ubuntu 14.04. Esto implicó instalar tooooodo de nuevo incluyendo mis herramientas de trabajo para el desarrollo de software entre esas herramientas se encuentra Pentaho Data Integration 5.0.1, mejor conocida como spoon o kettle, la cual depende de java (en mi caso java-8-oracle) por lo que al ejecutar ./spoon.sh se me presentó el siguiente error:


DEBUG: Using PENTAHO_JAVA_HOME
DEBUG: _PENTAHO_JAVA_HOME=/usr/lib/jvm/java-8-oracle
DEBUG: _PENTAHO_JAVA=/usr/lib/jvm/java-8-oracle/bin/java
No bp log location saved, using default.
[000:000] Cpu: 6.42.7, x4, 2301Mhz, 3863MB
[000:000] Computer model: Not available
[000:000] Browser XEmbed support present: 1
[000:000] Browser toolkit is Gtk2.
[000:000] Using Gtk2 toolkit
No bp log location saved, using default.
[000:000] Cpu: 6.42.7, x4, 2301Mhz, 3863MB
[000:000] Computer model: Not available
[000:320] No bp log location saved, using default.
[000:322] Cpu: 6.42.7, x4, 2301Mhz, 3863MB
[000:322] Computer model: Not available
[000:322] Browser XEmbed support present: 1
[000:322] Browser toolkit is Gtk2.
[000:322] Using Gtk2 toolkit
[000:283] No bp log location saved, using default.
[000:285] Cpu: 6.42.7, x4, 2301Mhz, 3863MB
[000:285] Computer model: Not available
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f2bed1632a1, pid=3852, tid=139828568024832
#
# JRE version: Java(TM) SE Runtime Environment (7.0_45-b18) (build 1.7.0_45-b18)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (24.45-b08 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C  [libsoup-2.4.so.1+0x6c2a1]  soup_session_feature_detach+0x11
#
# Core dump written. Default location: /opt/pentaho/data-integration/core or core.3852
#
# An error report file with more information is saved as:
# /tmp/hs_err_pid3852.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.sun.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
Aborted (core dumped)

La causa de esto es que después de actualizar a GNOME 3.8 con libsoup 2.42.0, Eclipse se bloquea de forma después de unos segundos de su utilización, esto se presenta como un error ya reportado de eclipse, para más detalle podemos acceder a este link.

Lo importante de esto después de todo es la solución y eso lo conseguimos editando el archivo “spoon.sh” que se encuentra en el directorio de Pentaho Data Integration, ahí buscaremos la línea que comience por OPC=”$… la comentaremos y la sustituiremos por la siguiente línea:

OPT="$OPT $PENTAHO_DI_JAVA_OPTIONS -Djava.library.path=$LIBPATH -DKETTLE_HOME=$KETTLE_HOME -DKETTLE_REPOSITORY=$KETTLE_REPOSITORY -DKETTLE_USER=$KETTLE_USER -DKETTLE_PASSWORD=$KETTLE_PASSWORD -DKETTLE_PLUGIN_PACKAGES=$KETTLE_PLUGIN_PACKAGES -DKETTLE_LOG_SIZE_LIMIT=$KETTLE_LOG_SIZE_LIMIT -Dorg.eclipse.swt.browser.DefaultType=mozilla"

 

Tenga en cuenta que la cosa que hay que añadir a las opciones de Java es:

-Dorg.eclipse.swt.browser.DefaultType = mozilla

En caso de que todavía surgen problemas, trate de añadir esta opción también:

-Dorg.eclipse.swt.browser.XULRunnerPath = / usr/lib64/xulrunner /

o la ruta equivalente en su sistema para xulrunner

y eso es todo, espero que sea de ayuda.

Fuente de Información

http://sharingtechknowledge.blogspot.com/2013/08/pentaho-data-integration-kettle-on.html

Anuncios

BPMN

BPMN

Notación de Modelaje de Procesos de Negocios (BPMN) es una notación gráfica estandarizada que permite el modelado de procesos de negocio, en un formato de flujo de trabajo. Su principal objetivo es, Resolver las dificultades de comunicación que tiene el lenguaje común a través de que el mismo

  • Proporciona un método normalizado para representar procesos de negocios.
  • Facilita su entendimiento debido a la poca complejidad de su notación.
  • Proporciona un lenguaje común entre los usuarios de negocio y los técnicos.
  • Facilita la diagramación de los procesos de negocio.

Actualmente hay una amplia variedad de lenguajes, herramientas y metodologías para el modelado de procesos de negocio. La adopción cada vez mayor de la notación BPMN como estándar ayudará a unificar la expresión de conceptos básicos de procesos de negocio (por ejemplo procesos públicos y privados, orquestación, coreografía, etc.) así como conceptos avanzados de modelado (por ejemplo manejo de excepciones, compensación de transacciones, modelado de toma de decisiones, entre otros).

Se hace cada vez más importante en este mundo globalizado con procesos cada vez más complejos el poder llevar a cabo la administración o gestión de los procesos de negocio además de hacerlo en un lenguaje o notación entendible por toda la organización, es por esto que la BPMI creo la versión 1.2 de BPMN y cada vez es más fácil ir viendo aplicaciones de la notación de modelado de procesos de negocio en su versión 2.0 actualmente mantenida por la OMG. Y es con el fin de agilizar la definición y posterior automatización de los procesos de negocios basados en la arquitectura orientada a servicios que el estudio y aplicación de BPMN se hace cada vez más una necesidad para las grandes organizaciones ya que le da flexibilidad, agilidad y capacidad de respuesta a la misma.

MVC

Este blog lo empecé con la idea de estudiar Symfony 2 con todos en la web. Y posteriormente ir aprendiendo junto a ustedes acerca de buenas prácticas de programación y otras tecnologías, lenguajes y otros frameworks de desarrollo, bueno, y tenerlo como mi memoria a largo plazo, porque de verdad tengo muy mala memoria XD jejeje… Bueno, comencemos por la base de toda buena práctica de desarrollo de aplicaciones, el Patrón de Diseño MVC.

¿Qué es MVC?

MVC viene de Model, View, Controller, o bien: Modelo, Vista y Controlador. Es un patrón de diseño que empecé a utilizar hace algún tiempo y la verdad es que me dió muy buenos resultados en los sistemas donde lo pude aplicar. La idea básica de éste patrón es separar nuestros sistemas en 3 capas, El Modelo, La Vista y el Controlador. El Modelo se encarga de todo lo que tiene que ver con la persistencia de datos. Guarda y recupera la información del medio persistente que utilicemos, ya sea una base de datos, ficheros de texto, XML, etc. La Vista presenta la información obtenida con el modelo de manera que el usuario la pueda visualizar. El Controlador, dependiendo de la acción solicitada por el usuario, es el que pide al modelo la información necesaria e invoca a la plantilla(de la vista) que corresponda para que la información sea presentada.

¿Cuáles son los origenes del Modelo Vista Controlador?

Buscando un poco de información historica, podemos decir que este fue descrito por primera vez en 1979 por Trygve Reenskaug (hace ya basante tiempo, para el sector que tratamos), trabajador de Smalltalk, en unos laboratorios de gran investigación de Xerox. La implementación del modelo fue descrita en este documento. Frameworks MVC Los MVC cumplen perfectamente el fin particular de cualquier frameworks, (una estructura bien definida que da soporte a un proyecto web también nos ayuda a que nuestro proyecto sea organizado y bien desarrollado).

Diagrama de Flujo de un framework MVC

Modelo Vista Controlador

Funcionamiento del Patrón Modelo Vista Controlador

1. El “index.php” en este caso simboliza el recurso que ha requerido un cliente, en el servidor este archivo, debería inicializar el nucleo de nuestra aplicación. 2. Al iniciarce la app, la petición del usuario, descrita por una url, debe ser pasada al enrutador quien examina la petición HTTP y nos ayuda a determinar quién debe atender dicha petición. 3. Si existe, la cache nos devuelve nuestro el recurso que ha requerido el cliente sin necesidad de pasar por el sistema, ahorrandos la carga que esto nos conlleva. 4. Si no existe el recurso previamente cargado en la cache, la petición debe pasar por el filtro de Seguridad, parte de las tareas implicitas de un controlador es filtrar los datos enviados (si el usuario ha enviado algún formulario mediante método “POST” o algún dato mediante método “GET” a través de la URL) para que estos puedan resultar fiables y además de esto se verifica si el usuario tiene acceso y permisos al recurso al que pretende acceder. 5. El controlador se apoya en el modelo, librerias, helpers, plugins y todos los demás recursos necesarios para satisfacer nuestra petición, luego de procesar la información este generá una vista. 6. Finalmente, cuando la Vista está renderizada, esta es enviada al cliente en respuesta a su petición, entonces si la cache se encuentra habilitada, se almacena el resultado para la próxima ocación que el recurso sea servido de forma más rápida.

Colaboradores:

http://www.neleste.com/modelo-vista-controlador/

http://www.jourmoly.com.ar/introduccion-a-mvc-con-php-primera-parte/

http://www.symfony.com