1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-29 08:21:15 +03:00
This commit is contained in:
david hill
2018-05-29 16:30:59 -05:00
parent 2858273f6b
commit a05460fdac
6 changed files with 92 additions and 62 deletions

View File

@ -91,51 +91,51 @@ fi
# softlink for libperl.sp, used by cplogger # softlink for libperl.sp, used by cplogger
ln -s /usr/lib64/perl5/CORE/libperl.so /usr/lib64/libperl.so >/dev/null 2>&1 ln -s /usr/lib64/perl5/CORE/libperl.so /usr/lib64/libperl.so >/dev/null 2>&1
#setup profile files
profileFileAlias=/etc/profile.d/columnstoreAlias.sh
profileFileEnv=/etc/profile.d/columnstoreEnv.sh
if [ $installdir != "/usr/local/mariadb/columnstore" ]; then if [ $installdir != "/usr/local/mariadb/columnstore" ]; then
sed -i -e s@/usr/local/mariadb/columnstore@$installdir@g $installdir/bin/columnstoreAlias sed -i -e s@/usr/local/mariadb/columnstore@$installdir@g $installdir/bin/columnstoreAlias
fi fi
if [ $user != "root" ]; then if [ $user != "root" ]; then
rm -f $profileFileEnv profileFile=$prefix/.bash_profile
rm -f $profileFileAlias
if [ ! -f ${profileFile}_backup ]; then
touch $profileFileEnv cp $profileFile ${profileFile}_backup
chmod 666 $profileFileEnv fi
egrep -qs 'MariaDB Columnstore Non-Root' ${profileFileEnv}
egrep -qs 'MariaDB Columnstore Non-Root Environment Variables' ${profileFile}
rc1=$? rc1=$?
if [ $rc1 -ne 0 ]; then if [ $rc1 -ne 0 ]; then
echo " " >> ${profileFileEnv} echo " " >> ${profileFile}
echo "# MariaDB Columnstore Non-Root Environment Variables" >> ${profileFileEnv} echo "# MariaDB Columnstore Non-Root Environment Variables" >> ${profileFile}
echo "export COLUMNSTORE_INSTALL_DIR=$COLUMNSTORE_INSTALL_DIR" >> ${profileFileEnv} echo "export COLUMNSTORE_INSTALL_DIR=$COLUMNSTORE_INSTALL_DIR" >> ${profileFile}
echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$COLUMNSTORE_INSTALL_DIR/lib:$COLUMNSTORE_INSTALL_DIR/mysql/lib" >> ${profileFileEnv} echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$COLUMNSTORE_INSTALL_DIR/lib:$COLUMNSTORE_INSTALL_DIR/mysql/lib" >> ${profileFile}
. ${profileFileEnv}
fi fi
/bin/cp -f $installdir/bin/columnstoreAlias $profileFileAlias egrep -qs 'MariaDB Columnstore Non-Root Alias Variables' ${profileFile}
chmod 666 $profileFileAlias rc1=$?
if [ $rc1 -ne 0 ]; then
echo " " >> ${profileFile}
echo "# MariaDB Columnstore Non-Root Alias Variables" >> ${profileFile}
cat $installdir/bin/columnstoreAlias >> ${profileFile}
fi
#source the file
. ${profileFile}
else else
/bin/cp -f $installdir/bin/columnstoreAlias $profileFileAlias /bin/cp -f $installdir/bin/columnstoreAlias /etc/profile.d/columnstoreAlias.sh
644 $profileFileAlias chmod 644 /etc/profile.d/columnstoreAlias.sh >/dev/null 2>&1
fi fi
cd / cd /
test -d /var/log/mariadb || mkdir /var/log/mariadb >/dev/null 2>&1 test -d /var/log/mariadb || mkdir /var/log/mariadb >/dev/null 2>&1
test -d /var/log/mariadb/columnstore || mkdir /var/log/mariadb/columnstore >/dev/null 2>&1 test -d /var/log/mariadb/columnstore || mkdir /var/log/mariadb/columnstore >/dev/null 2>&1
if [ $user != "root" ]; then
chmod -R 777 /var/log/mariadb >/dev/null 2>&1
chown -R $user:$user /var/log/mariadb >/dev/null 2>&1
fi
test -d /var/log/mariadb/columnstore/archive || mkdir /var/log/mariadb/columnstore/archive >/dev/null 2>&1 test -d /var/log/mariadb/columnstore/archive || mkdir /var/log/mariadb/columnstore/archive >/dev/null 2>&1
test -d /var/log/mariadb/columnstore/corefiles || mkdir /var/log/mariadb/columnstore/corefiles >/dev/null 2>&1 test -d /var/log/mariadb/columnstore/corefiles || mkdir /var/log/mariadb/columnstore/corefiles >/dev/null 2>&1
test -d /var/log/mariadb/columnstore/trace || mkdir /var/log/mariadb/columnstore/trace >/dev/null 2>&1 test -d /var/log/mariadb/columnstore/trace || mkdir /var/log/mariadb/columnstore/trace >/dev/null 2>&1
test -h /var/log/mariadb/columnstore/data && rm -f /var/log/mariadb/columnstore/data test -h /var/log/mariadb/columnstore/data && rm -f /var/log/mariadb/columnstore/data
chmod 755 /var/log/mariadb/columnstore/corefiles > /dev/null 2>&1
# make sure trace dir is world-writable and sticky # make sure trace dir is world-writable and sticky
test -d $installdir/data || mkdir $installdir/data test -d $installdir/data || mkdir $installdir/data
test -d $installdir/data1 || mkdir $installdir/data1 test -d $installdir/data1 || mkdir $installdir/data1
@ -158,13 +158,8 @@ rm -f $installdir/data/bulk/tmpjob/* >/dev/null 2>&1
#create columnstore temp file directory #create columnstore temp file directory
mkdir -p /tmp/columnstore_tmp_files >/dev/null 2>&1 mkdir -p /tmp/columnstore_tmp_files >/dev/null 2>&1
#setup core file directory and link
mkdir /var/log/mariadb/columnstore/corefiles > /dev/null 2>&1
chmod 755 /var/log/mariadb/columnstore/corefiles > /dev/null 2>&1
#create mount directories #create mount directories
mkdir /mnt/tmp > /dev/null 2>&1 mkdir /mnt/tmp > /dev/null 2>&1
mkdir /var/log/mariadb/columnstore/data/archive > /dev/null 2>&1
# remove mysql archive log # remove mysql archive log
test -d $installdir/mysql/db || mkdir -p $installdir/mysql/db test -d $installdir/mysql/db || mkdir -p $installdir/mysql/db
@ -173,7 +168,6 @@ rm -rf $installdir/mysql/db/columnstore_log_archive > /dev/null 2>&1
# delete Columnstore shared memory segments # delete Columnstore shared memory segments
$installdir/bin/clearShm > /dev/null 2>&1 $installdir/bin/clearShm > /dev/null 2>&1
systemctl=`which systemctl 2>/dev/null`
#check and create rc.local file if missing #check and create rc.local file if missing
if [ -f /etc/rc.d ]; then if [ -f /etc/rc.d ]; then
@ -189,11 +183,13 @@ else
printf '%s\n' '#!/bin/bash' "#" | tee -a $RCFILE > /dev/null 2>&1 printf '%s\n' '#!/bin/bash' "#" | tee -a $RCFILE > /dev/null 2>&1
fi fi
#setup the columnstore service script
rm -f /etc/init.d/columnstore >/dev/null 2>&1
rm -f /etc/init.d/mysql-Columnstore >/dev/null 2>&1
if [ $user = "root" ]; then if [ $user = "root" ]; then
#setup the columnstore service script
rm -f /etc/init.d/columnstore >/dev/null 2>&1
rm -f /etc/init.d/mysql-Columnstore >/dev/null 2>&1
rm -f /etc/default/columnstore
systemctl=`which systemctl 2>/dev/null`
if [ -n "$systemctl" ]; then if [ -n "$systemctl" ]; then
chmod 644 $installdir/bin/columnstore.service chmod 644 $installdir/bin/columnstore.service
@ -223,12 +219,11 @@ fi
if [ $user = "root" ]; then if [ $user = "root" ]; then
$installdir/bin/syslogSetup.sh install > /tmp/syslog_install.log 2>&1 $installdir/bin/syslogSetup.sh install > /tmp/syslog_install.log 2>&1
rm -f /etc/default/columnstore
#check if MariaDB Columnstore system logging was setup #check if MariaDB Columnstore system logging was setup
cat /tmp/syslog_install.log | grep 'No System Logging' >/dev/null 2>&1 cat /tmp/syslog_install.log | grep 'No System Logging' >/dev/null 2>&1
if [ $? -eq 0 ]; then if [ $? -eq 0 ]; then
cat /tmp/syslog_install.log cat /tmp/syslog_install.log
fi fi
else else
sed -i -e s@/usr/local/mariadb/columnstore@$installdir@g $installdir/bin/columnstore.def sed -i -e s@/usr/local/mariadb/columnstore@$installdir@g $installdir/bin/columnstore.def
@ -239,14 +234,22 @@ else
sed -i -e s@prefix=/home/guest@prefix=$prefix@g $installdir/bin/* sed -i -e s@prefix=/home/guest@prefix=$prefix@g $installdir/bin/*
chown $user:$user $installdir/etc/Columnstore.xml chown $user:$user $installdir/etc/Columnstore.xml
echo ""
echo "NOTE: For non-root install, you will need to run the following command as root user to"
echo " setup the MariaDB ColumnStore System Logging"
echo ""
echo " $installdir/bin/syslogSetup.sh --installdir=$installdir --user=$user install"
echo ""
fi fi
#determine lock file directory #determine lock file directory
# Lock directory for root user # Lock directory for root user
lockdir='/var/lock/subsys' lockdir='/var/lock/subsys'
if [ $user != "root" ];then if [ $user != "root" ];then
# Lock directory for non-root user # Lock directory for non-root user
lockdir=$prefix/.lock lockdir=$prefix/.lock
fi fi
$installdir/bin/setConfig -d Installation LockFileDirectory $lockdir $installdir/bin/setConfig -d Installation LockFileDirectory $lockdir
@ -254,6 +257,7 @@ $installdir/bin/setConfig -d Installation LockFileDirectory $lockdir
mkdir $lockdir >/dev/null 2>&1 mkdir $lockdir >/dev/null 2>&1
rm -f $lockdir/mysql-Columnstore rm -f $lockdir/mysql-Columnstore
rm -f $lockdir/columnstore
#backup copy of Alarm Config File #backup copy of Alarm Config File
/bin/cp -f $installdir/etc/AlarmConfig.xml $installdir/etc/AlarmConfig.xml.installSave > /dev/null 2>&1 /bin/cp -f $installdir/etc/AlarmConfig.xml $installdir/etc/AlarmConfig.xml.installSave > /dev/null 2>&1
@ -271,6 +275,7 @@ if [ $user = "root" ]; then
else else
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$installdir/lib $installdir/bin/cplogger -i 19 "***** MariaDB Columnstore Installed *****" LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$installdir/lib $installdir/bin/cplogger -i 19 "***** MariaDB Columnstore Installed *****"
fi fi
#setup hadoop #setup hadoop
hadoop=`which hadoop 2>/dev/null` hadoop=`which hadoop 2>/dev/null`
if [ -z "$hadoop" ]; then if [ -z "$hadoop" ]; then

View File

@ -20,6 +20,7 @@ for arg in "$@"; do
elif [ `expr -- "$arg" : '--installdir='` -eq 13 ]; then elif [ `expr -- "$arg" : '--installdir='` -eq 13 ]; then
installdir="`echo $arg | awk -F= '{print $2}'`" installdir="`echo $arg | awk -F= '{print $2}'`"
prefix=`dirname $installdir` prefix=`dirname $installdir`
prefix=`dirname $prefix`
elif [ `expr -- "$arg" : '--user='` -eq 7 ]; then elif [ `expr -- "$arg" : '--user='` -eq 7 ]; then
user="`echo $arg | awk -F= '{print $2}'`" user="`echo $arg | awk -F= '{print $2}'`"
elif [ `expr -- "$arg" : '--quiet'` -eq 7 ]; then elif [ `expr -- "$arg" : '--quiet'` -eq 7 ]; then
@ -33,32 +34,33 @@ done
$installdir/bin/columnstore stop > /dev/null 2>&1 $installdir/bin/columnstore stop > /dev/null 2>&1
$installdir/myql/columnstore-Mysql stop > /dev/null 2>&1 $installdir/myql/columnstore-Mysql stop > /dev/null 2>&1
# uninstall OS scripts updated by postConfigure
if test -f /etc/exports.columnstoreSave ; then
mv -f /etc/exports.columnstoreSave /etc/exports > /dev/null 2>&1
else
rm -f /etc/exports > /dev/null 2>&1
fi
export COLUMNSTORE_INSTALL_DIR=$installdir export COLUMNSTORE_INSTALL_DIR=$installdir
cloud=`$COLUMNSTORE_INSTALL_DIR/bin/getConfig Installation Cloud` cloud=`$COLUMNSTORE_INSTALL_DIR/bin/getConfig Installation Cloud`
if [ $cloud = "amazon-ec2" ] || [ $cloud = "amazon-vpc" ]; then if [ $cloud = "amazon-ec2" ] || [ $cloud = "amazon-vpc" ]; then
if test -f /etc/fstab ; then if test -f /etc/fstab ; then
sed -i '/Columnstore\/data/d' /etc/fstab > /dev/null 2>&1 sed -i '/Columnstore\/data/d' /etc/fstab > /dev/null 2>&1
fi fi
fi fi
#remove profile file
if [ $user != "root" ]; then
profileFile=$prefix/.bash_profile
if test -f ${profileFile}_backup ; then
mv -f ${profileFile}_backup $profileFile
fi
else
rm -f /etc/profile.d/columnstoreAlias.sh
fi
#remove log file directories #remove log file directories
#rm -rf /var/log/mariadb/columnstore > /dev/null 2>&1 #rm -rf /var/log/mariadb/columnstore > /dev/null 2>&1
#rm -f $installdir/mysql/db/*.err > /dev/null 2>&1 #rm -f $installdir/mysql/db/*.err > /dev/null 2>&1
rm -f /var/log/mariadb/columnstore/activeAlarms > /dev/null 2>&1 rm -f /var/log/mariadb/columnstore/activeAlarms > /dev/null 2>&1
rm -f /var/log/mariadb/columnstore/*.log1 > /dev/null 2>&1 rm -f /var/log/mariadb/columnstore/*.log1 > /dev/null 2>&1
rm -rf $installdir/mysql/db/columnstore_log_archive > /dev/null 2>&1 rm -rf $installdir/mysql/db/columnstore_log_archive > /dev/null 2>&1
rm -f /etc/default/columnstore
# remove Mariab Columnstore Log Rotate File abd Transaction Log File
rm -f /etc/logrotate.d/columnstore > /dev/null 2>&1
# delete Mariab Columnstore shared memory segments # delete Mariab Columnstore shared memory segments
$installdir/bin/clearShm > /dev/null 2>&1 $installdir/bin/clearShm > /dev/null 2>&1
@ -78,7 +80,7 @@ rm -rf /tmp/columnstore_tmp_files
rm -f $installdir/local/moveDbrootTransactionLog rm -f $installdir/local/moveDbrootTransactionLog
lockdir=`$COLUMNSTORE_INSTALL_DIR/bin/getConfig Installation LockFileDirectory` lockdir=`$COLUMNSTORE_INSTALL_DIR/bin/getConfig Installation LockFileDirectory`
rm -f $lockdir/subsys/columnstore rm -f $lockdir/columnstore
rm -f $lockdir/mysql-Columnstore rm -f $lockdir/mysql-Columnstore
# delete core files # delete core files
@ -124,7 +126,7 @@ if [ $quiet != 1 ]; then
rm -f $installdir/etc/AlarmConfig.xml.installSave rm -f $installdir/etc/AlarmConfig.xml.installSave
fi fi
#umount file systems #remove OAMdbrootCheck file
rm -f $installdir/data*/OAMdbrootCheck > /dev/null 2>&1 rm -f $installdir/data*/OAMdbrootCheck > /dev/null 2>&1
#remove library paths #remove library paths
@ -132,7 +134,15 @@ if [ $user = "root" ]; then
rm -f /etc/ld.so.conf.d/columnstore.conf rm -f /etc/ld.so.conf.d/columnstore.conf
ldconfig ldconfig
else else
rm -f /etc/defaults/columnstore rm -f /etc/default/columnstore
echo ""
echo "NOTE: For non-root install, you will need to run the following command as root user to"
echo " uninstall the MariaDB ColumnStore System Logging"
echo ""
echo " $installdir/bin/syslogSetup.sh --installdir=$installdir --user=$user uninstall"
echo ""
fi fi
#tell user to run post configure script #tell user to run post configure script

View File

@ -13,6 +13,8 @@ syslog_conf=nofile
rsyslog7=0 rsyslog7=0
user=`whoami 2>/dev/null` user=`whoami 2>/dev/null`
groupname=adm
username=syslog
for arg in "$@"; do for arg in "$@"; do
if [ `expr -- "$arg" : '--prefix='` -eq 9 ]; then if [ `expr -- "$arg" : '--prefix='` -eq 9 ]; then
@ -21,6 +23,10 @@ for arg in "$@"; do
elif [ `expr -- "$arg" : '--installdir='` -eq 13 ]; then elif [ `expr -- "$arg" : '--installdir='` -eq 13 ]; then
installdir="`echo $arg | awk -F= '{print $2}'`" installdir="`echo $arg | awk -F= '{print $2}'`"
prefix=`dirname $installdir` prefix=`dirname $installdir`
elif [ `expr -- "$arg" : '--user='` -eq 7 ]; then
user="`echo $arg | awk -F= '{print $2}'`"
groupname=$user
username=$user
elif [ `expr -- "$arg" : '--..*'` -ge 3 ]; then elif [ `expr -- "$arg" : '--..*'` -ge 3 ]; then
echo "ignoring unknown argument: $arg" 1>&2 echo "ignoring unknown argument: $arg" 1>&2
elif [ `expr -- "$arg" : '--'` -eq 2 ]; then elif [ `expr -- "$arg" : '--'` -eq 2 ]; then
@ -150,6 +156,10 @@ install() {
checkSyslog checkSyslog
if [ ! -z "$syslog_conf" ] ; then if [ ! -z "$syslog_conf" ] ; then
$installdir/bin/setConfig -d Installation SystemLogConfigFile ${syslog_conf} >/dev/null 2>&1 $installdir/bin/setConfig -d Installation SystemLogConfigFile ${syslog_conf} >/dev/null 2>&1
if [ $user != "root" ]; then
chown $user:$user /home/$user/mariadb/columnstore/etc/*
fi
if [ "$syslog_conf" != /etc/rsyslog.d/columnstore.conf ]; then if [ "$syslog_conf" != /etc/rsyslog.d/columnstore.conf ]; then
rm -f ${syslog_conf}.columnstoreSave rm -f ${syslog_conf}.columnstoreSave
cp ${syslog_conf} ${syslog_conf}.columnstoreSave >/dev/null 2>&1 cp ${syslog_conf} ${syslog_conf}.columnstoreSave >/dev/null 2>&1
@ -163,11 +173,11 @@ if [ ! -z "$syslog_conf" ] ; then
rm -rf /etc/rsyslog.d/columnstore.conf rm -rf /etc/rsyslog.d/columnstore.conf
if [ $rsyslog7 == 1 ]; then if [ $rsyslog7 == 1 ]; then
sed -i -e s/groupname/adm/g ${columnstoreSyslogFile7}
sed -i -e s/username/syslog/g ${columnstoreSyslogFile7}
rm -f /etc/rsyslog.d/49-columnstore.conf rm -f /etc/rsyslog.d/49-columnstore.conf
cp ${columnstoreSyslogFile7} ${syslog_conf} cp ${columnstoreSyslogFile7} ${syslog_conf}
sed -i -e s/groupname/$groupname/g ${syslog_conf}
sed -i -e s/username/$username/g ${syslog_conf}
else else
cp ${columnstoreSyslogFile} ${syslog_conf} cp ${columnstoreSyslogFile} ${syslog_conf}
fi fi
@ -205,6 +215,9 @@ if [ ! -z "$syslog_conf" ] ; then
else else
rm -f "$syslog_conf" rm -f "$syslog_conf"
fi fi
# uninstall Columnstore Log Rotate File
rm -f /etc/logrotate.d/columnstore
restartSyslog restartSyslog

View File

@ -1099,6 +1099,9 @@ bool updateProcessConfig(int serverTypeInstall)
*/ */
bool makeRClocal(string moduleName, int IserverTypeInstall) bool makeRClocal(string moduleName, int IserverTypeInstall)
{ {
return true;
string moduleType = moduleName.substr(0, MAX_MODULE_TYPE_SIZE); string moduleType = moduleName.substr(0, MAX_MODULE_TYPE_SIZE);
vector <string> lines; vector <string> lines;

View File

@ -1239,7 +1239,6 @@ int main(int argc, char* argv[])
if ( !rootUser ) if ( !rootUser )
{ {
system("sed -i -e 's/#MCS//g' /etc/rc.d/rc.local >/dev/null 2>&1"); system("sed -i -e 's/#MCS//g' /etc/rc.d/rc.local >/dev/null 2>&1");
system("chmod 666 /etc/fstab >/dev/null 2>&1");
} }
if ( !writeConfig(sysConfig) ) if ( !writeConfig(sysConfig) )

View File

@ -338,11 +338,11 @@ int main(int argc, char** argv)
// check if standby never replied, if so, shutdown // check if standby never replied, if so, shutdown
if ( count >= 120 ) if ( count >= 120 )
{ {
log.writeLog(__LINE__, "Standby PM not responding, infinidb shutting down", LOG_TYPE_CRITICAL); log.writeLog(__LINE__, "Standby PM not responding, columnstore shutting down", LOG_TYPE_CRITICAL);
//Set the alarm, commented out. alarm require ProcMgr //Set the alarm, commented out. alarm require ProcMgr
//aMonitor.sendAlarm(config.moduleName().c_str(), STARTUP_DIAGNOTICS_FAILURE, SET); //aMonitor.sendAlarm(config.moduleName().c_str(), STARTUP_DIAGNOTICS_FAILURE, SET);
sleep (1); sleep (1);
string cmd = startup::StartUp::installDir() + "/bin/infinidb stop > /dev/null 2>&1"; string cmd = startup::StartUp::installDir() + "/bin/columnstore stop > /dev/null 2>&1";
system(cmd.c_str()); system(cmd.c_str());
} }