test-definitions/blob/master/auto-test/cassandra/cassandra.sh

#!/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"
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值