Ejecutar Solr como un servicio en Ubuntu

He estado haciendo algunas pruebas estos días con Nutch y Solr. Una cosa que no me gustaba era que Solr saca todos los mensajes de información directamente a la consola de comandos.

solr

Yo prefería usarlo como un servicio y después de una rápida búsqueda encontré esta solución de Terrance A. Snyder. Sólo lo he modificado un poco para que guarde la salida de información y de error a diferentes ficheros y que aún estoy usando la carpeta de ejemplo.

#!/bin/sh -e
# SOLR auto-start
#
# description: auto-starts solr engine
# processname: solr
# pidfile: /var/run/solr.pid

NAME="solr"
PIDFILE="/var/run/solr.pid"
LOG_FILE="/var/log/solr-output.log"
ERROR_FILE="/var/log/solr-error.log"
SOLR_DIR="/opt/solr-4.10.0/example"
JAVA_OPTIONS="-Xmx1024m -DSTOP.PORT=8079 -DSTOP.KEY=stopkey -jar start.jar"
JAVA="/usr/bin/java"

start() {
  echo -n "Starting $NAME... "
  if [ -f $PIDFILE ]; then
    echo "is already running!"
  else
    cd $SOLR_DIR
    $JAVA $JAVA_OPTIONS 1> $LOG_FILE 2> $ERROR_FILE &
    sleep 2
    echo `ps -ef | grep -v grep | grep java | awk '{print $2}'` > $PIDFILE
    echo "(Done)"
  fi
  return 0
}

stop() {
  echo -n "Stopping $NAME... "
  if [ -f $PIDFILE ]; then
    cd $SOLR_DIR
    $JAVA $JAVA_OPTIONS --stop
    sleep 2
    rm $PIDFILE
    echo "(Done)"
  else
    echo "can not stop, it is not running!"
  fi
  return 0
}

case "$1" in
  start)
    start
  ;;
  stop)
    stop
  ;;
  restart)
    stop
    sleep 5
    start
  ;;
  *)
    echo "Usage: $0 (start | stop | restart)"
    exit 1
  ;;
esac

Guarda eso como /etc/init.d/solr, dale permisos de ejecución (sudo chmod +x /etc/init.d/solr) y ya estarás listo para arrancarlo y paralo como siempre.

sudo /etc/init.d/solr start
sudo /etc/init.d/solr stop

También puedes configurarlo para que se inicie con el sistema:

sudo update-rc.d solr defaults

Y borrarlo:

sudo update-rc.d solr remove

Ref: http://blog.shutupandcode.net/?p=463

You might also like

Instalar OpenCV en Ubuntu 10.10
Para instalar la versión 2.1 desde los repositorios ejecutar: sudo apt-get install libcv-dev libcv2.1...

Instalar Skype en Ubuntu
Desde Ubuntu 10.04 se puede añadir el repositorio para Skype ejecutando el siguiente comando:sudo...

Arrancar y parar el servicio de VNC en Mac OS X con un script
Crear un fichero llamado, por ejemplo, startVNC y rellenarlo con lo siguiente:sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart...

Instalar OpenCV 2.3.1 en Ubuntu 12.04
La última versión disponible en los repositorios es la OpenCV 2.3.1 así que tan solo hay que ejecutar...

Dejar un comentario?

0 Comentarios.

Deje un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.