You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-30 19:23:07 +03:00
Installer now pre-setups S3 settings to bootstrap S3-backed MCS.
This commit is contained in:
@ -12,6 +12,18 @@ running_systemd() {
|
||||
fi
|
||||
}
|
||||
|
||||
find_env_var() {
|
||||
env_var_name=$1
|
||||
pid=$$
|
||||
while [ -z "$ENV_VAR" -a $pid != 1 ]; do
|
||||
ppid=$(ps -oppid -p$pid|tail -1|awk '{print $1}')
|
||||
env=$(strings /proc/$ppid/environ)
|
||||
ENV_VAR=$(echo "$env"|awk -F= "\$1 == \"$env_var_name\" { print \$2; }")
|
||||
pid=$ppid
|
||||
done
|
||||
echo $ENV_VAR
|
||||
}
|
||||
|
||||
checkForError() {
|
||||
# check for password error
|
||||
grep "ERROR 1045" ${tmpDir}/mysql_install.log > ${tmpDir}/error.check
|
||||
@ -222,6 +234,49 @@ if [ $? -ne 0 ]; then
|
||||
echo "ERROR: Invalid password in .my.cnf, or Columnstore plugin install missing"
|
||||
fi
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "ERROR: Invalid password in .my.cnf, or Columnstore plugin install missing"
|
||||
fi
|
||||
|
||||
if [ -z "$MCS_USE_S3_STORAGE" ]; then
|
||||
MCS_USE_S3_STORAGE="$(find_env_var "MCS_USE_S3_STORAGE")"
|
||||
MCS_S3_BUCKET="$(find_env_var "MCS_S3_BUCKET")"
|
||||
MCS_S3_ENDPOINT="$(find_env_var "MCS_S3_ENDPOINT")"
|
||||
MCS_S3_ACCESS_KEY_ID="$(find_env_var "MCS_S3_ACCESS_KEY_ID")"
|
||||
MCS_S3_SECRET_ACCESS_KEY="$(find_env_var "MCS_S3_SECRET_ACCESS_KEY")"
|
||||
MCS_S3_REGION="$(find_env_var "MCS_S3_REGION")"
|
||||
fi
|
||||
|
||||
if [ ! -z "$MCS_USE_S3_STORAGE" ] && [ $MCS_USE_S3_STORAGE -eq 1 ]; then
|
||||
if [ -z "$MCS_S3_BUCKET" ]; then
|
||||
echo "Environmental variable \$MCS_USE_S3_STORAGE is set but there is no \$MCS_S3_BUCKET."
|
||||
fi
|
||||
if [ -z "$MCS_S3_ENDPOINT" ]; then
|
||||
echo "Environmental variable \$MCS_USE_S3_STORAGE is set but there is no \$MCS_S3_ENDPOINT."
|
||||
fi
|
||||
if [ -z "$MCS_S3_ACCESS_KEY_ID" ]; then
|
||||
echo "Environmental variable \$MCS_USE_S3_STORAGE is set but there is no \$MCS_S3_ACCESS_KEY_ID."
|
||||
fi
|
||||
if [ -z "$MCS_S3_SECRET_ACCESS_KEY" ]; then
|
||||
echo "Environmental variable \$MCS_USE_S3_STORAGE is set but there is no \$MCS_S3_SECRET_ACCESS_KEY."
|
||||
fi
|
||||
if [ -z "$MCS_S3_BUCKET" ] || [ -z "$MCS_S3_ENDPOINT" ] || [ -z "$MCS_S3_ACCESS_KEY_ID" ] || [ -z "$MCS_S3_SECRET_ACCESS_KEY" ]; then
|
||||
echo "Using local storage."
|
||||
else
|
||||
mcsSetConfig -d Installation DBRootStorageType "storagemanager"
|
||||
mcsSetConfig -d StorageManager Enabled "Y"
|
||||
mcsSetConfig -d SystemConfig DataFilePlugin "libcloudio.so"
|
||||
sed -i "s|service =.*|service = S3|" /etc/columnstore/storagemanager.cnf
|
||||
if [ ! -z "$MCS_S3_REGION" ]; then
|
||||
sed -i "s|region =.*|region = $MCS_S3_REGION|" /etc/columnstore/storagemanager.cnf
|
||||
fi
|
||||
sed -i "s|bucket =.*|bucket = $MCS_S3_BUCKET|" /etc/columnstore/storagemanager.cnf
|
||||
sed -i "s|# endpoint =.*|endpoint = $MCS_S3_ENDPOINT|" /etc/columnstore/storagemanager.cnf
|
||||
sed -i "s|# aws_access_key_id =.*|aws_access_key_id = $MCS_S3_ACCESS_KEY_ID|" /etc/columnstore/storagemanager.cnf
|
||||
sed -i "s|# aws_secret_access_key =.*|aws_secret_access_key = $MCS_S3_SECRET_ACCESS_KEY|" /etc/columnstore/storagemanager.cnf
|
||||
fi
|
||||
fi
|
||||
|
||||
systemctl cat mariadb-columnstore.service > /dev/null 2>&1
|
||||
if [ $? -eq 0 ] && [ $(running_systemd) -eq 0 ]; then
|
||||
systemctl start mariadb-columnstore
|
||||
|
Reference in New Issue
Block a user