You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-09-08 10:32:09 +03:00
179 lines
4.3 KiB
Bash
179 lines
4.3 KiB
Bash
#!/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/mysql
|
|
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
|
|
|
|
user=`whoami 2>/dev/null`
|
|
SUDO=" "
|
|
if [ $user != "root" ]; then
|
|
SUDO="sudo "
|
|
fi
|
|
|
|
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"
|
|
$SUDO rm -f /var/lock/subsys/columnstore
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
[ -f $InstallDir/bin/ProcMon ] || exit 0
|
|
|
|
start() {
|
|
if [ -f /var/lock/subsys/columnstore ]; then
|
|
echo "MariaDB Columnstore Database Platform already running"
|
|
exit 0
|
|
fi
|
|
|
|
($SUDO mkdir -p /var/lock/subsys && $SUDO chmod 777 /var/lock/subsys && $SUDO touch /var/lock/subsys/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"
|
|
$SUDO rm -f /var/lock/subsys/columnstore
|
|
exit 1
|
|
fi
|
|
fi
|
|
#checkInstallSetup
|
|
|
|
CoreFileFlag=`$InstallDir/bin/getConfig -c $InstallDir/etc/Columnstore.xml Installation CoreFileFlag`
|
|
if [ $CoreFileFlag = "y" ]; then
|
|
SUDO=
|
|
if [ "$user" != "root" ]; then
|
|
SUDO="$SUDO"
|
|
fi
|
|
|
|
#columnstore core files
|
|
$SUDO ulimit -c unlimited > /dev/null 2>&1
|
|
$SUDO sysctl -q -w kernel.core_uses_pid=1 > /dev/null 2>&1
|
|
$SUDO 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"
|
|
$SUDO rm -f /tmp/StopColumnstore
|
|
exec $InstallDir/bin/run.sh $InstallDir/bin/ProcMon > /dev/null 2>&1 &
|
|
|
|
return $RETVAL
|
|
}
|
|
stop() {
|
|
echo "Shutting down MariaDB Columnstore Database Platform"
|
|
$SUDO touch /tmp/StopColumnstore
|
|
$SUDO pkill ProcMon
|
|
$SUDO pkill ProcMgr
|
|
sleep 1
|
|
$InstallDir/bin/clearShm
|
|
RETVAL=$?
|
|
$SUDO rm -f /var/lock/subsys/columnstore
|
|
$SUDO 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 /var/lock/subsys/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 /var/lock/subsys/columnstore ] && restart || :
|
|
;;
|
|
status)
|
|
status
|
|
;;
|
|
*)
|
|
echo $"Usage: $0 {start|stop|restart|condrestart|status}"
|
|
exit 1
|
|
esac
|
|
|
|
exit $?
|
|
|