#!/bin/bash # # $Id: columnstore 3704 2013-08-07 03:33:20Z bwilkinson $ # # columnstore Starts MariaDB Columnstore database platform # # # chkconfig: 2345 99 99 # description: MariaDB Columnstore is a database platform that utilizes Mysql # ### BEGIN INIT INFO # Provides: columnstore # Required-Start: $local_fs $remote_fs $network $syslog $all # Required-Stop: $local_fs $remote_fs $network $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start/stop MariaDB Columnstore DW DBMS ### END INIT INFO # Source function library. if [ -f /etc/init.d/functions ]; then . /etc/init.d/functions fi if [ -z "$COLUMNSTORE_INSTALL_DIR" ]; then test -f /etc/default/columnstore && . /etc/default/columnstore fi if [ -z "$COLUMNSTORE_INSTALL_DIR" ]; then COLUMNSTORE_INSTALL_DIR=/usr/local/mariadb/columnstore fi export COLUMNSTORE_INSTALL_DIR=$COLUMNSTORE_INSTALL_DIR InstallDir=$COLUMNSTORE_INSTALL_DIR if [ $InstallDir != "/usr/local/mariadb/columnstore" ]; then export PATH=$InstallDir/bin:$InstallDir/mysql/bin:/bin:/usr/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$InstallDir/lib:$InstallDir/mysql/lib fi #hadoop plugin=`$COLUMNSTORE_INSTALL_DIR/bin/getConfig SystemConfig DataFilePlugin` if [ -n "$plugin" ]; then setenv=`$InstallDir/bin/getConfig SystemConfig DataFileEnvFile` . $InstallDir/bin/$setenv >/dev/null 2>&1 fi test -f $InstallDir/post/functions && . $InstallDir/post/functions mt=`module_type` mid=`module_id` has_um=`$InstallDir/bin/getConfig SystemModuleConfig ModuleCount2` if [ "x$has_um" = x ]; then has_um=0 fi lockdir=`$InstallDir/bin/getConfig Installation LockFileDirectory` #get temp directory tmpDir=`$InstallDir/bin/getConfig SystemConfig SystemTempFileDir` checkInstallSetup() { InitialInstallFlag=`$InstallDir/bin/getConfig -c $InstallDir/etc/Columnstore.xml Installation InitialInstallFlag` if [ $InitialInstallFlag != "y" ]; then echo "Please run the postConfigure install script, check the Installation Guide" echo "for additional details" rm -f $lockdir/columnstore exit 1 fi } [ -f $InstallDir/bin/ProcMon ] || exit 0 start() { if [ -f $lockdir/columnstore ]; then echo "MariaDB Columnstore Database Platform already running" exit 0 fi (mkdir -p $lockdir && touch $lockdir/columnstore) >/dev/null 2>&1 if [ -x $InstallDir/bin/columnstore.pre-start ]; then $InstallDir/bin/columnstore.pre-start if [ $? -ne 0 ]; then echo "Error running MariaDB Columnstore pre-start script, not starting MariaDB Columnstore" rm -f $lockdir/columnstore exit 1 fi fi #checkInstallSetup CoreFileFlag=`$InstallDir/bin/getConfig -c $InstallDir/etc/Columnstore.xml Installation CoreFileFlag` if [ $CoreFileFlag = "y" ]; then #columnstore core files ulimit -c unlimited > /dev/null 2>&1 sysctl -q -w kernel.core_uses_pid=1 > /dev/null 2>&1 sysctl -q -w kernel.core_pattern=/var/log/mariadb/columnstore/corefiles/core.%e.%p > /dev/null 2>&1 fi RETVAL=0 echo "Starting MariaDB Columnstore Database Platform" rm -f ${tmpDir}/StopColumnstore exec $InstallDir/bin/run.sh -l ${tmpDir} $InstallDir/bin/ProcMon > /dev/null 2>&1 & return $RETVAL } stop() { echo "Shutting down MariaDB Columnstore Database Platform" touch ${tmpDir}/StopColumnstore pkill ProcMon pkill ProcMgr sleep 1 $InstallDir/bin/clearShm RETVAL=$? rm -f $lockdir/columnstore fuser -k 8604/tcp > /dev/null 2>&1 test -f $InstallDir/mysql/mysql-Columnstore || return $RETVAL $InstallDir/mysql/mysql-Columnstore stop > /dev/null 2>&1 if [ -x $InstallDir/bin/columnstore.post-stop ]; then $InstallDir/bin/columnstore.post-stop fi return $RETVAL } restart() { stop start } status() { isrunning=0 if [ $EUID -eq 0 ]; then if [ -f $lockdir/columnstore ]; then isrunning=1 fi else pgrep ProcMon >/dev/null 2>&1 if [ $? -eq 0 ]; then isrunning=1 fi fi if [ $isrunning -ne 0 ]; then echo "MariaDB Columnstore is running" else echo "MariaDB Columnstore is not running" exit 3 fi } case "$1" in start) start ;; stop) stop ;; restart) restart ;; condrestart) [ -f $lockdir/columnstore ] && restart || : ;; status) status ;; *) echo $"Usage: $0 {start|stop|restart|condrestart|status}" exit 1 esac exit $?