Starting Datameer at Boot Time

The following describes how to edit and set up the attached Datameer startup script in CentOS 5.6. These should work the same on other Linux distributions.

An example of shell script code is below:

Prerequisites

Datameer should be installed and running successfully. (i.e., <path to das>/bin/conductor.sh start)

Datameer

  1. Create the script on the Linux machine.
  2. Move the das.server script to /etc/init.d/Note: These scripts should be owned by root:
  3. Edit the das.server script:
    1. Change the value of DAS_HOME to the correct path
      1. export DAS_HOME=/opt/das
    2. Change DAS_USER to the same user that owns /opt/das directory and has been previously defined in das-env.sh
      1. export DAS_USER=datameer
    3. Change PID_PATH to a location where the das pid file can be stored.
      1. export PID_PATH=/var/lock/subsys
  4. Add das server to the list of available services in Linux:
    1. chkconfig --add das.server
  5. Check what init levels are active for Das:
    1. chkconfig --list |grep das.server (Notice init 3,4,5 have das “on”)

                das.server      0:off   1:off   2:off   3:on    4:on    5:on    6:off

This automates the start of Datameer at bootup.

#!/bin/bash
#set -x
#
# Starts a Datameer Server
# chkconfig: 345 90 10
# description: DAS Server

export DAS_HOME=/opt/das
export DAS_USER=das
export PID_PATH=/var/lock/subsys

#Source Function Library
. /etc/rc.d/init.d/functions

RETVAL=0
PIDFILE="/var/lock/subsys/das.pid"
desc="DAS Server daemon"
#######################################################################

start() {
  echo -n $"Starting $desc (DAS): "
  daemon --user $DAS_USER $DAS_HOME/bin/conductor.sh start /dev/null2>&1
  RETVAL=$?
  echo
  [ $RETVAL -eq 0 ] && touch $PID_PATH/das
  return $RETVAL
}

stop() {
  echo -n $"Stopping $desc (DAS): "
  daemon --user $DAS_USER $DAS_HOME/bin/conductor.sh stop
  RETVAL=$?
  sleep 5
  echo
  [ $RETVAL -eq 0 ] && rm -f $PID_PATH/das $PIDFILE
}

checkstatus(){
  ps |grep das
}

restart() {
  stop
  start
}

case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  status)
    checkstatus
    ;;
  restart)
    restart
    ;;
  *)
    echo $"Usage: $0 {start|stop|status|restart}"
    exit 1
esac

exit $RETVAL