| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- export LANG=zh_CN.utf8
- export LC_ALL=zh_CN.utf8
- #改变工作目录到当前脚本所在路径
- if [[ "$0" =~ / ]]; then cd "${0%/*}"; fi
- export CWD=`pwd`
- keyspace=$1
- clearkeyspace() {
- if [[ "${keyspace}" != *"test"* ]]; then
- echo "can't clear keyspace ${keyspace}"
- exit 1
- fi
- datapath=`cat -n /opt/matrix/cassandra/conf/cassandra.yaml | grep "data_file_directories:" | awk '{print 1+$1}' | xargs -i% sed -n %p /opt/matrix/cassandra/conf/cassandra.yaml | awk '{print $2}'`
- echo
- echo "ls -l \"${datapath}\""
- eval "cd \"${datapath}\""
- ksroot=`ls | grep "^${keyspace}$"`
- ksbitlog=`ls | grep "^${keyspace}.*bitlog$"`
- ksnative=`ls | grep "^${keyspace}.*native$"`
- kstsdb=`ls | grep "^${keyspace}.*tsdb$"`
- echo ${ksroot}
- echo ${ksbitlog}
- echo ${ksnative}
- echo ${kstsdb}
- echo "ls -lR ${keyspace}* | wc"
- ls -lR ${keyspace}* | wc
- cd /opt/matrix/cassandra/bin
- ./cqlsh -u cassandra -p cassandra << EOF
- desc keyspaces;
- exit;
- EOF
- # drop keyspace
- if [[ "$1" = "drop" ]]; then
- echo drop keyspace ${ksroot} ...
- ./cqlsh -u cassandra -p cassandra << EOF
- drop keyspace ${ksroot};
- exit;
- EOF
- echo drop keyspace ${ksbitlog} ...
- ./cqlsh -u cassandra -p cassandra << EOF
- drop keyspace ${ksbitlog};
- exit;
- EOF
- echo drop keyspace ${ksnative} ...
- ./cqlsh -u cassandra -p cassandra << EOF
- drop keyspace ${ksnative};
- exit;
- EOF
- echo drop keyspace ${kstsdb} ...
- ./cqlsh -u cassandra -p cassandra << EOF
- drop keyspace ${kstsdb};
- exit;
- EOF
- ./cqlsh -u cassandra -p cassandra << EOF
- desc keyspaces;
- exit;
- EOF
- fi # drop
- echo
- echo "ls -l \"${datapath}\""
- eval "cd \"${datapath}\""
- ls -l
- echo
- echo "removing keyspace ${keyspace} data ..."
- rm -rf ${ksroot}
- rm -rf ${ksbitlog}
- rm -rf ${ksnative}
- rm -rf ${kstsdb}
- ls -l
- }
- # 传播并执行脚本
- spread() {
- args="$* "
- echo "args='$args'"
- host1=27.193.12.228
- host2=27.193.12.229
- host3=27.193.12.230
- host4=27.193.12.231
- host5=27.193.12.232
- host228=27.193.12.228
- host229=27.193.12.229
- host230=27.193.12.230
- host231=27.193.12.231
- host232=27.193.12.232
- while [[ "${args}" != "" ]]; do
- an=`echo $args | awk -F ' ' '{print $1}'`
- ip=`eval "echo $""{host${an}}"`
- args=`eval "echo $""{args:${#an}}"`
- echo "$an: $ip"
- if [[ "${ip}" != "" ]]; then
- ./msh p=matrix "sftp matrix@${ip}" "mkdir /opt/matrix/test" "cd /opt/matrix/test" "put initkeyspace.sh" "ls -lrt"
- ./msh p=matrix "ssh matrix@${ip}" "/opt/matrix/test/initkeyspace.sh ${keyspace} clear"
- sleep 2
- fi
- done
- }
- if [[ "$2" = "clear" ]]; then
- echo "clear keyspace ${keyspace}"
- clearkeyspace
- elif [[ "${keyspace}" != "" ]]; then
- clearkeyspace drop
- cd "$CWD"
- if [[ "${SSH_CONNECTION}" = *"27.193.12.228"* ]]; then
- spread 2 3 4
- fi
- echo
- echo "init keyspace ${keyspace} ..."
- cd /opt/matrix/init
- ./init -keyspace=${keyspace} -silent
- else
- echo "initkeyspace.sh <keyspacename>"
- fi
|