66 lines
2.5 KiB
Bash
Executable file
66 lines
2.5 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
#mount s3
|
|
set -euo pipefail
|
|
set -o errexit
|
|
set -o errtrace
|
|
IFS=$'\n\t'
|
|
|
|
export S3_ACL=${S3_ACL:-private}
|
|
|
|
if [ "$USE_S3_VOLUME" == "true" ]; then
|
|
test $MOUNT_POINT
|
|
rm -rf ${MOUNT_POINT}
|
|
mkdir -p ${MOUNT_POINT}
|
|
if [ "$S3_ENDPOINT" != "" ]; then
|
|
echo "$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY" > /usr/local/s3cred
|
|
chmod 400 /usr/local/s3cred
|
|
/usr/bin/s3fs ${S3_BUCKET_NAME} ${MOUNT_POINT} -o passwd_file=/usr/local/s3cred,use_path_request_style,url=${S3_ENDPOINT}
|
|
else
|
|
if [ "$IAM_ROLE" == "none" ]; then
|
|
export AWSACCESSKEYID=${AWSACCESSKEYID:-$AWS_ACCESS_KEY_ID}
|
|
export AWSSECRETACCESSKEY=${AWSSECRETACCESSKEY:-$AWS_SECRET_ACCESS_KEY}
|
|
|
|
echo 'IAM_ROLE is not set - mounting S3 with credentials from ENV'
|
|
/usr/bin/s3fs ${S3_BUCKET_NAME} ${MOUNT_POINT} -o nosuid,nonempty,nodev,allow_other,default_acl=${S3_ACL},retries=5
|
|
else
|
|
echo 'IAM_ROLE is set - using it to mount S3'
|
|
/usr/bin/s3fs ${S3_BUCKET_NAME} ${MOUNT_POINT} -o iam_role=${IAM_ROLE},nosuid,nonempty,nodev,allow_other,default_acl=${S3_ACL},retries=5
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
#mk mimir data dir if it doesn't exist
|
|
mkdir -p $MIMIR_DATA_DIR
|
|
mkdir -p "$MOUNT_POINT/logs"
|
|
|
|
#update mimir from repo
|
|
if [ $PULL_MIMIR == "true" ]
|
|
then
|
|
(cd /usr/local/source/mimir; git pull; rm -r /root/.m2/repository/info/mimirdb/mimir-core_2.11/0.2/; /usr/local/source/sbt/bin/sbt publish;)
|
|
fi
|
|
|
|
#restore data from some other s3 backup
|
|
if [ $RESTORE_BACKUP == "true" ] && [ ! -f /usr/local/source/.restoreComplete ]
|
|
then
|
|
cd /usr/local/source/mimir
|
|
/usr/local/source/sbt/bin/sbt "runBackup --restore --dataStagingType s3 --overwriteJars -X LOG LOGM remoteSpark"
|
|
touch /usr/local/source/.restoreComplete
|
|
fi
|
|
|
|
if [ $NEW_MIMIR_DB_FROM_S3 == "true" ] && [ ! -f /usr/local/source/mimir/debug.db ] && [ -f /usr/local/source/web-api/.vizierdb/mimir/debug.db ]
|
|
then
|
|
#cp /usr/local/source/mimir/debug.db /usr/local/source/web-api/.vizierdb/mimir/
|
|
cp /usr/local/source/web-api/.vizierdb/mimir/debug.db /usr/local/source/mimir/debug.db
|
|
fi
|
|
|
|
if [ $NEW_HIVE_METASTORE_FROM_S3 == "true" ] && [ ! -d /usr/local/source/mimir/metastore_db ] && [ -f /usr/local/source/web-api/.vizierdb/mimir/metastore_db.tar ]
|
|
then
|
|
#tar -C /usr/local/source/mimir -cf metastore_db.tar /usr/local/source/mimir/metastore_db
|
|
#cp metastore_db.tar /usr/local/source/web-api/.vizierdb/mimir/
|
|
cp /usr/local/source/web-api/.vizierdb/mimir/metastore_db.tar /usr/local/source/mimir/metastore_db.tar
|
|
cd /usr/local/source/mimir
|
|
tar -xf metastore_db.tar
|
|
rm metastore_db.tar
|
|
fi
|