Starting Datameer at Boot Time

Starting Datameer at Boot Time

The following describes how to edit and set up the attached Datameer X 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 X 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 X at bootup.

#!/bin/bash #set -x # # Starts a Datameer X 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

Datameer - Automatic Start with systemd

  1. Create the script on the Linux machine.

  2. Move the das_systemd.service script to /etc/systemd/system. 
    Note: These scripts should be owned by root with 0644 permissions.

  3. Edit the das_systemd.service 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

This automates the start of Datameer X at bootup:

[Unit] Description=Datameer X Server daemon # Start only after metastore is up and running. # Specify mysqld.service for MySQL, or mariadb.service for MariaDB. # If not using a local metastore, comment the After line out below. After=mysqld.service [Service] # Update DAS_HOME and DAS_USER. # DAS_USER must match $DAS_HOME/etc/das-env.sh Environment=DAS_HOME='/opt/das' Environment=DAS_USER='datameer' ExecStart=$DAS_HOME/bin/conductor.sh start ExecReload=$DAS_HOME/bin/conductor.sh restart ExecStop=$DAS_HOME/bin/conductor.sh stop Type=forking PIDFile=/var/lock/subsys/das.pid User=$DAS_USER [Install] WantedBy=multi-user.target