#!/bin/bash
function cassandra20_install(){
#安装包,并通过检查返回值$? 来检查包是否安装成功
yum install -y cassandra20
print_info $? "install cassandra20"
#用过yum info 将包的信息输出到文件中,总共grep和cut 截断字符串得到的相关值后,通过飘键赋值给变量
export LANG=en_US.UTF8
yum info cassandra20 | tee tmp.info
local version=`grep -i Version | cut -d : -f 2`
local repo=`grep -i "From repo" | cut -d : -f 2`
if [ $repo = "Estuary" ] && [ $version = "2.0.9" ];then
true
else
false
fi
print_info $? "cassandra20 version=$version and from_repo=$repo"
#安装java 包
yum install java-1.8.0-openjdk-devel -y
#找到java的安装位置
javadir=`which java`
#readlink -f 表示找到实际的路径,而不是链接
javadirreal=dirname ` readlink -f $javadir`
#在文件中找JAVA_HOME变量的值
grep JAVA_HOME ~/.bashrc
if [ $? -ne 0 ];then
#找到的话,将将下面两句话追加到.bashrc的后面
echo "export JAVA_HOME=dirname `dirname $javadirreal`" >> ~/.bashrc
echo 'export PATH=$PATH:$JAVA_HOME/bin ' >> ~/.bashrc
#重新source一下环境文件
source ~/.bashrc
fi
#安装python-pip后,通过python-pip 再安装cqlsh 这个包
yum install -y python-pip
pip install cqlsh==4.1.1
}
function cassandra20_edit_config(){
#插入替换
sed -i s/'JVM_OPTS="$JVM_OPTS -Xss256k"'/'JVM_OPTS="$JVM_OPTS -Xss328k"'/ /etc/cassandra/default.conf/cassandra-env.sh
#在文件中查找Xss328k
grep "Xss328k" /etc/cassandra/default.conf/cassandra-env.sh
if [ $? -eq 0 ];then
true
else
false
fi
#打印信息
print_info $? "cassandra20 edit config of JVM_OPTS per-thread stack size"
}
function cassandra20_start_by_service(){
#启动这个服务
systemctl start cassandra
print_info $? "cassandra20 start"
#执行jps 命令,并在jps命令输出的log中查找CassandraDaemon
jps | grep CassandraDaemon
if [ $? -eq 0 ];then
true
else
false
fi
print_info $? "lookout cassandra20 daemon java process"
}
function cassandra20_stop_by_service(){
#通过systemctl 停止这个服务,并再jps命令输出的log中查找CassandraDaemon
systemctl stop cassandra
jps | grep CassandraDaemon
if [ $? -ne 0 ];then
true
else
false
fi
print_info $? "cassandra20 stop by service"
}
function cassandra20_sql_ddl(){
#通过cat在文件中输入一段code
cat > temp.cql <<-eof
create keyspace if not exists db1 \
with replication = {'class':'SimpleStratagy' , 'replication_factor':1} \
and durable_writes = false;
eof
#执行这段code
local ret=`cqlsh -f temp.cql 2>&1`
}
function cassandra20_uninstall(){
#删除这个包,并通过返回值检查包是否删除成功
yum remove -y cassandra20
print_info $? "unintall cassandra20"
}
test-definitions/blob/master/auto-test/cassandra/cassandra.sh
最新推荐文章于 2021-11-12 18:03:42 发布