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

#!/bin/bash
#source 一下这个文件,这样就可以用这个文件中定义的函数了
source ./cassandra.sh 

function ccdriver_server_isRunning(){

	#通过which 看有没有安装这个包
    which cassandra && true || false 
    if [ $? -ne 0 ];then
		#如果没有安装的话,则调用下面三个函数安装,配置和启动service
        cassandra20_install
        cassandra20_edit_config
        cassandra20_start_by_service 
		#pgrep 是根据用户的有效ID 查找进程pid
        pgrep -U cassandra && true || false 
		#找到的话,返回0 ,找不到返回1
        if [ $? -eq 0 ];then 
            return 0
        else
            exit 1
        fi 

    fi 
	#这里同样调用pgrep 找进程pid,能找到的话,则通过kill 命令杀掉这个进程
    pid=`pgrep -U cassandra `
    if [ $? -eq 0 ];then
        kill -9 $pid
        sleep 3
    fi
    cassandra20_edit_config 
    grep -E "^authenticator: AllowAllAuthenticator" /etc/cassandra/default.conf/cassandra.yaml 
    if [ $? -ne 0 ];then 
        echo "authenticator: AllowAllAuthenticator" >> /etc/cassandra/default.conf/cassandra.yaml 
    fi 
	#启动这个服务
    systemctl start cassandra 
	#根据用户的有效id查找进程名,并打印查找的结果
    pgrep -U cassandra && true || false 
    print_info $? "start cassandra" 
}



#按照两个包,并通过yum info查找version和repo是否是给定的版本
function ccdriver_install(){
    
    yum install cassandra-cpp-driver -y 
    print_info $? "install cassandra cpp driver "

    yum install cassandra-cpp-driver-devel -y 
    export LANG=en_US.UTF8 
    yum info cassandra-cpp-driver > tmp.info 
    local version=`grep Version tmp.info | cut -d : -f 2`
    local repo=`grep "From repo" tmp.info | cut -d : -f 2`

    if [ $version = "2.7.0" -a $repo = "Estuary" ];then
        true
    else
        false
    fi 
    print_info $? "cassandra cpp driver version and repo is right"
    
}
#删除包并打印是否删除成功
function ccdriver_uninstall(){

    yum remove -y cassandra-cpp-driver 
    print_info $? "uninstall cassandra cpp driver"
}


function ccdriver_sample_exec(){
#通过gcc 编译
    gcc -o sampleQuery connect.c -lcassandra
    print_info $? "link cassandra dynamic lib "
jps
	#通过su 临时切换到cassandra 执行命令并查找输出的结果中是否有error
    su cassandra -c "./sampleQuery 2>&1 | grep -i error "
    if [ $? -eq 0 ];then
        false
    else
        true
    fi
    print_info $? "cassandra cpp driver proglme exec "    

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值