#!/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 "
}
test-definitions/blob/master/auto-test/cassandra/cassandra-cpp-driver.sh
最新推荐文章于 2021-11-12 18:03:42 发布