viernes, abril 12, 2013

Pentaho como demonio (servicio) linux

Estimad@s,

en este caso escribo para compartir un script que sirve para instalar Pentaho BI Server CE como demonio linux. Agradezco a Jorge Colmenarez por la colaboración y el ánimo de compartir.


El archivo script

Primero creamos un archivo script llamado pentaho con el siguiente contenido:


#!/bin/sh -e
### BEGIN INIT INFO
# Provides:          Pentaho Server
# Required-Start:    mountkernfs $local_fs
# Required-Stop:     $local_fs
# Should-Start:      ifupdown
# Should-Stop:       ifupdown
# Default-Start:     S
# Default-Stop:      0 6
# Short-Description: Starts and stops the Pentaho Server.
### END INIT INFO

PENTAHO_HOME=/home/mariano/pentaho/suite5-trunk/biserver-ce

# Source function library.
if [ -f /etc/rc.d/functions ];
then
    . /etc/init.d/functions
fi

# Pentaho Server Service script for Linux

start()
{
echo $"Starting Pentaho..."
sh $PENTAHO_HOME/start-pentaho.sh
}

stop()
{
echo $"Stopping Pentaho..."
sh $PENTAHO_HOME/data/stop_hypersonic.sh
sh $PENTAHO_HOME/stop-pentaho.sh
}

restart()
{
echo $"Stopping Pentaho..."
sh $PENTAHO_HOME/data/stop_hypersonic.sh
sh $PENTAHO_HOME/stop-pentaho.sh
echo $"Starting Pentaho..."
sh $PENTAHO_HOME/start-pentaho.sh
}

reload()
{
echo $"No se soporta. "
}

# See how we were called.
case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  restart)
        restart
        ;;
  reload)
reload
;;
  status)
        ;;
  *)
        echo $"Usage: {start|stop|restart|condrestart|status}"
        exit 1
esac

Solo deberán tener en cuenta colocar el path correcto en la línea:PENTAHO_HOME=/home/mariano/pentaho/suite5-trunk/biserver-ce

Luego copiamos el script a la carpeta /etc/init.d, por ejemplo:
sudo cp /home/mariano/pentaho /etc/init.d

Luego le damos permisos de ejecución:sudo chmod +x /etc/init.d/pentaho

Finalmente configuramos la prioridad de orden de ejecución del demonio:
cd /etc/init.d/
sudo update-rc.d pentaho defaults 99

Manejar el orden de ejecución del demonio es importante, ya que si por ejemplo tenemos el repositorio en MySQL, el servidor MySQL debe arrancar primero. Podemos considerarlo como una especie de manejo de dependencia de servicios muy simple.


Como usarlo

Por un lado, cuando arranquemos nuevamente nuestro sistema operativo, ya dispondremos del servicio, pero también podemos:

Parar el servicio:
sudo /etc/init.d/pentaho stop

Iniciar el servicio:
sudo /etc/init.d/pentaho start

Reiniciar el servicio:
sudo /etc/init.d/pentaho restart

Como eliminar el demonio (fuente: Supernatural  :) )

Si no necesitamos más el servicio, pordemos eliminarlo con el siguiente comando:

sudo update-rc.d -f pentaho remove



Espero les sea de utilidad.

Saludos

Mariano

2 comentarios:

Freddy dijo...

Gracias por tu aporte Mariano, muy bueno :)

Unknown dijo...

Por nada, pero los agradecimientos son también para Jorge Colmenarez.
saludos
Mariano

Etiquetas

pentaho (45) java (35) eclipse (23) jdbc (14) curso (13) tomcat (13) primefaces (12) db2 (11) mondrian (10) review (10) jsf (9) openI (9) pdi (9) prd (9) libro (8) plugin (8) musql (7) struts (7) javascript (6) spring (6) cdf (5) ctools (5) instalar (5) linux (5) mysql (5) data studio (4) hibernate (4) ireport (4) jasper (4) meteor (4) videocurso (4) eglu (3) eglubi (3) elearning (3) graphite (3) grupo eglu (3) jboos tools (3) mexico (3) openbits (3) packt (3) python (3) undec (3) websphere (3) applet (2) cde (2) dao (2) db2university (2) exelearning (2) flexigrid (2) hadoop (2) iua (2) kettle (2) moodle (2) node (2) olap (2) osbi (2) pivot4j (2) scorm (2) sql (2) stpivot (2) actionscript (1) amazon (1) autenticacion (1) avanzado (1) base de datos (1) big data (1) bigdata (1) bodoc (1) cambiar (1) ccc (1) cdc (1) chat (1) cloud (1) coffeescript (1) control de acceso (1) corti (1) csv (1) cuba (1) curso meteor undec (1) dashboard (1) datamart (1) dataptix.tv (1) datasource (1) datatable (1) db2 ExpressC (1) demonio (1) distancia (1) driver (1) driver jdbc (1) eglufiltertwolist (1) encapsulamiento (1) especialización (1) etl (1) excepciones (1) export (1) faces (1) federación (1) filas afectadas (1) filtertwolist (1) filtrado (1) flegrid (1) flex (1) google (1) google viz (1) hostname (1) html (1) i18n (1) ibm (1) identidad (1) indignación (1) instancias (1) inteligencia de negocios (1) jee (1) jpivot (1) l10n (1) la azada (1) la zaga de los confines (1) layout (1) liberado (1) libre (1) libro promoción (1) lob (1) marktplace (1) menu (1) meteor node javascript google oauth autenticacion (1) mobile (1) mongoDB (1) node.js (1) oauth (1) olap4j (1) open source (1) orm (1) persistencia (1) personalizada (1) prd5 (1) psw (1) publicidad (1) rad6 (1) recursividad (1) reporting (1) rock (1) saiku (1) script (1) servicio (1) sessiontimeout (1) sourceforge (1) spinneta (1) sqlserver (1) ssl (1) taller (1) troyanx (1) ubuntu (1) ucc (1) ui (1) web (1) web console (1) xampp (1) xml (1) xpath (1)

Seguidores