OceanBase几个常见问题及排查思路
第一种情况:某一台observer挂掉,数据库异常
OceanBase采用的的是多副本集群模式,在不同的zone里面有不同的server,每个zone里面的server是互相备份的。上层是通过slb来分发所以,当其中一台server挂掉的时候,会对业务产生什么影响呢?
登录到业务所在的ob服务器执行以下命令:
ps -ef|grep observer;kill -9 pid
登录到业务不在的observer执行以下命令:
ps -ef|grep observer;kill -9 pid
恢复手段:查看9台observer的进程,找出挂掉的observer,并使用admin用户将observer启动。执行命令如下:
su - admin;/bin/observer
2ã服务器层面占用cpu,数据库异常
#! /bin/bash
# filename killcpu.sh
endless_loop()
{
echo -ne "i=0;
while true
do
i=i+100;
i=100
done" | /bin/bash &
}
if [ $# != 1 ] ; then
echo "USAGE: $0 <CPUs>"
exit 1;
fi
for i in `seq $1`
do
endless_loop
pid_array[$i]=$! ;
done
for i in "${pid_array[@]}"; do
echo 'kill ' $i ';';
done
#运行命令:./killcpu.sh 30
#参数位占用几颗cpu 核数
ps -aux | sort -k4nr | head -N
登录到observer服务器执行命令:
dd if=/dev/zero of=/home/admin/oceanbase/log/1.log bs=100k count=1600000
6、模拟数据库服务器网络故障。
执行命令:
iptables -A INPUT -i bond0 -p tcp --dport 2882 -j DROP
iptables -A INPUT -i bond0 -p tcp --dport 2881 -j DROP
iptables -A OUTPUT -p tcp --dport 2882 -j DROP
iptables -A OUTPUT -p tcp --dport 2881 -j DROP
恢复手段:
iptables -D INPUT 1
iptables -D INPUT 1
iptables -D OUTPUT 1
iptables -D OUTPUT 1
最后更新:2017-10-29 23:33:33