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
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
sed -i -e s@/usr/local/mariadb/columnstore@$installdir@g $installdir/bin/columnstoreAlias
fi
if [ $user != "root" ]; then
rm -f $profileFileEnv
rm -f $profileFileAlias
profileFile=$prefix/.bash_profile
touch $profileFileEnv
chmod 666 $profileFileEnv
egrep -qs 'MariaDB Columnstore Non-Root' ${profileFileEnv}
rc1=$?
if [ $rc1 -ne 0 ]; then
echo " " >> ${profileFileEnv}
echo "# MariaDB Columnstore Non-Root Environment Variables" >> ${profileFileEnv}
echo "export COLUMNSTORE_INSTALL_DIR=$COLUMNSTORE_INSTALL_DIR" >> ${profileFileEnv}
echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$COLUMNSTORE_INSTALL_DIR/lib:$COLUMNSTORE_INSTALL_DIR/mysql/lib" >> ${profileFileEnv}
. ${profileFileEnv}
if [ ! -f ${profileFile}_backup ]; then
cp $profileFile ${profileFile}_backup
fi
/bin/cp -f $installdir/bin/columnstoreAlias $profileFileAlias
chmod 666 $profileFileAlias
egrep -qs 'MariaDB Columnstore Non-Root Environment Variables' ${profileFile}
rc1=$?
if [ $rc1 -ne 0 ]; then
echo " " >> ${profileFile}
echo "# MariaDB Columnstore Non-Root Environment Variables" >> ${profileFile}
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" >> ${profileFile}
fi
egrep -qs 'MariaDB Columnstore Non-Root Alias Variables' ${profileFile}
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
/bin/cp -f $installdir/bin/columnstoreAlias $profileFileAlias
644 $profileFileAlias
/bin/cp -f $installdir/bin/columnstoreAlias /etc/profile.d/columnstoreAlias.sh
chmod 644 /etc/profile.d/columnstoreAlias.sh >/dev/null 2>&1
fi
cd /
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
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/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 -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
test -d $installdir/data || mkdir $installdir/data
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
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
mkdir /mnt/tmp > /dev/null 2>&1
mkdir /var/log/mariadb/columnstore/data/archive > /dev/null 2>&1
# remove mysql archive log
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
$installdir/bin/clearShm > /dev/null 2>&1
systemctl=`which systemctl 2>/dev/null`
#check and create rc.local file if missing
if [ -f /etc/rc.d ]; then
@ -189,11 +183,13 @@ else
printf '%s\n' '#!/bin/bash' "#" | tee -a $RCFILE > /dev/null 2>&1
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
#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
chmod 644 $installdir/bin/columnstore.service
@ -223,7 +219,6 @@ fi
if [ $user = "root" ]; then
$installdir/bin/syslogSetup.sh install > /tmp/syslog_install.log 2>&1
rm -f /etc/default/columnstore
#check if MariaDB Columnstore system logging was setup
cat /tmp/syslog_install.log | grep 'No System Logging' >/dev/null 2>&1
@ -239,9 +234,17 @@ else
sed -i -e s@prefix=/home/guest@prefix=$prefix@g $installdir/bin/*
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
#determine lock file directory
# Lock directory for root user
lockdir='/var/lock/subsys'
if [ $user != "root" ];then
@ -254,6 +257,7 @@ $installdir/bin/setConfig -d Installation LockFileDirectory $lockdir
mkdir $lockdir >/dev/null 2>&1
rm -f $lockdir/mysql-Columnstore
rm -f $lockdir/columnstore
#backup copy of Alarm Config File
/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
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$installdir/lib $installdir/bin/cplogger -i 19 "***** MariaDB Columnstore Installed *****"
fi
#setup hadoop
hadoop=`which hadoop 2>/dev/null`
if [ -z "$hadoop" ]; then

View File

@ -20,6 +20,7 @@ for arg in "$@"; do
elif [ `expr -- "$arg" : '--installdir='` -eq 13 ]; then
installdir="`echo $arg | awk -F= '{print $2}'`"
prefix=`dirname $installdir`
prefix=`dirname $prefix`
elif [ `expr -- "$arg" : '--user='` -eq 7 ]; then
user="`echo $arg | awk -F= '{print $2}'`"
elif [ `expr -- "$arg" : '--quiet'` -eq 7 ]; then
@ -33,13 +34,6 @@ done
$installdir/bin/columnstore 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
cloud=`$COLUMNSTORE_INSTALL_DIR/bin/getConfig Installation Cloud`
@ -49,16 +43,24 @@ if [ $cloud = "amazon-ec2" ] || [ $cloud = "amazon-vpc" ]; then
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
#rm -rf /var/log/mariadb/columnstore > /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/*.log1 > /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 -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
$installdir/bin/clearShm > /dev/null 2>&1
@ -78,7 +80,7 @@ rm -rf /tmp/columnstore_tmp_files
rm -f $installdir/local/moveDbrootTransactionLog
lockdir=`$COLUMNSTORE_INSTALL_DIR/bin/getConfig Installation LockFileDirectory`
rm -f $lockdir/subsys/columnstore
rm -f $lockdir/columnstore
rm -f $lockdir/mysql-Columnstore
# delete core files
@ -124,7 +126,7 @@ if [ $quiet != 1 ]; then
rm -f $installdir/etc/AlarmConfig.xml.installSave
fi
#umount file systems
#remove OAMdbrootCheck file
rm -f $installdir/data*/OAMdbrootCheck > /dev/null 2>&1
#remove library paths
@ -132,7 +134,15 @@ if [ $user = "root" ]; then
rm -f /etc/ld.so.conf.d/columnstore.conf
ldconfig
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
#tell user to run post configure script

View File

@ -13,6 +13,8 @@ syslog_conf=nofile
rsyslog7=0
user=`whoami 2>/dev/null`
groupname=adm
username=syslog
for arg in "$@"; do
if [ `expr -- "$arg" : '--prefix='` -eq 9 ]; then
@ -21,6 +23,10 @@ for arg in "$@"; do
elif [ `expr -- "$arg" : '--installdir='` -eq 13 ]; then
installdir="`echo $arg | awk -F= '{print $2}'`"
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
echo "ignoring unknown argument: $arg" 1>&2
elif [ `expr -- "$arg" : '--'` -eq 2 ]; then
@ -150,6 +156,10 @@ install() {
checkSyslog
if [ ! -z "$syslog_conf" ] ; then
$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
rm -f ${syslog_conf}.columnstoreSave
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
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
cp ${columnstoreSyslogFile7} ${syslog_conf}
sed -i -e s/groupname/$groupname/g ${syslog_conf}
sed -i -e s/username/$username/g ${syslog_conf}
else
cp ${columnstoreSyslogFile} ${syslog_conf}
fi
@ -206,6 +216,9 @@ if [ ! -z "$syslog_conf" ] ; then
rm -f "$syslog_conf"
fi
# uninstall Columnstore Log Rotate File
rm -f /etc/logrotate.d/columnstore
restartSyslog
fi

View File

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

View File

@ -1239,7 +1239,6 @@ int main(int argc, char* argv[])
if ( !rootUser )
{
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) )

View File

@ -338,11 +338,11 @@ int main(int argc, char** argv)
// check if standby never replied, if so, shutdown
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
//aMonitor.sendAlarm(config.moduleName().c_str(), STARTUP_DIAGNOTICS_FAILURE, SET);
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());
}