Vertica Service Management Script Flow Explained

Document created by mufeed Employee on Feb 13, 2016
Version 1Show Document
  • View in full screen mode

Author: Mufeed Usman

 

Original Publication Date: March 25, 2015

 

First, the /etc/init.d/verticad script should be copied into /opt/mapr/initscripts/ (if not already copied) at the time of HPVertica installation. This script is used to start/stop the Vertica service. MCS queries the warden service on the corresponding node(s) and warden in turn runs the commands listed in /opt/mapr/conf/conf.d/vertica.conf to pull the service info to the MCS dashboard. Those commands invoke the verticad script listed above.

 

A common concern from users using HPVertica is over seeing the output of "service verticad status" in running state, triggering doubt if MapR is actually managing the HPVertica service.

 

The following two scripts should be available under /opt/mapr/initscripts/ for managing the Vertica daemon. The /opt/mapr/initscripts/vertica_wrapper script gets installed when Vertica is installed.

# ls -ltr /opt/mapr/initscripts/vert*

-rwxr-xr-x. 1 root root 4835 Mar 12 23:43 /opt/mapr/initscripts/verticad

-rwxr-xr-x. 1 root root 70 Mar 13 02:58 /opt/mapr/initscripts/vertica_wrapper

 

As per the entry in the configuration file /opt/mapr/conf/conf.d/warden.HPVertica.conf:

service.command.start=/opt/mapr/initscripts/vertica_wrapper start 
service.command.stop=/opt/mapr/initscripts/vertica_wrapper stop

 

The 'wrapper' script is being called to manage the Vertica daemon. The vertica_wrapper contains only the following line:

/usr/bin/sudo /opt/mapr/initscripts/verticad $*

 

In effect the wrapper script is used to avoid making use of the verticad script from the following location:

# ls -ltr /etc/rc.d/init.d/verticad 
lrwxrwxrwx. 1 root root 26 Mar 12 23:34 /etc/rc.d/init.d/verticad -> /opt/vertica/sbin/verticad

 

To confirm that these scripts are identical one can compare the two scripts using the following:

# diff /opt/vertica/sbin/verticad /opt/mapr/initscripts/verticad #

 

As above there should be no differences reported between the two scripts. The information above describes how warden is starting/stopping the Vertica daemon from an external script and not the system service (/etc/init.d). Hence, it is expected behavior to see 'verticad' in a running state using the service command.

Attachments

    Outcomes