keeplived+lvs部署mycat 日志报错处理
1.keepalived 开始采用tcp的方式检测端口 mycat疯狂报错 采用MISC_CHECK检测后日志正常
MISC_CHECK的用法是 执行脚本返回1着为错误 剔除服务 返回0则正常
vi /etc/keepalived/keepalived.conf
! Configuration File for keepalived global_defs { notification_email { acassen@firewall.loc failover@firewall.loc sysadmin@firewall.loc } notification_email_from Alexandre.Cassen@firewall.loc smtp_server 192.168.200.1 smtp_connect_timeout 30 router_id 112 } vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.1.193 } } virtual_server 192.168.1.193 3306 { delay_loop 6 lb_algo rr lb_kind DR # persistence_timeout 50 #测试的时候注释掉 protocol TCP real_server 192.168.1.117 3306 { weight 1 # TCP_CHECK { # connect_timeout 3 # nb_get_retry 3 # delay_before_retry 3 # connect_port 3306 MISC_CHECK { misc_path "/etc/keepalived/scripts/mycat_check.sh 192.168.1.117 3306 tkgrowlog" misc_timeout 10 misc_dynamic } } real_server 192.168.1.118 3306 { weight 1 # TCP_CHECK { # connect_timeout 3 # nb_get_retry 3 # delay_before_retry 3 # connect_port 3306 # } MISC_CHECK { misc_path "/etc/keepalived/scripts/mycat_check.sh 192.168.1.118 3306 tkgrowlog" misc_timeout 10 misc_dynamic } } }
注意nc命令需要安装一下 在keeplived端
yum install nc -y
yum install nmap -y
vi /etc/keepalived/scripts/mycat_check.sh
# cat mycat_check.sh #!/bin/bash time=$(date "+%Y-%m-%d %H:%M:%S") nc -v -z $1 $2 if [ $? -eq 0 ] then echo "$time "$1:$2:$3": mycat is running..." >> /var/log/keepalived_check.log exit 0 else echo "$time "$1:$2:$3": mycat is not running..." >> /var/log/keepalived_check.log exit 1 fi
测试结果mycat 有性能衰减 不同测试方式有差异
线程越多 keepalived性能越好 与单实例数据库越接近
在mycat日志开启debug级别的时候 lvs数据库性能高于mycat 低于单实例数据库
在写人数据库有大量数据写入的时候也不影响数据读取
vi /usr/local/mycat/conf/log4j2.xml #修改日志级别提升mycat性能 也可以消除报错
<asyncRoot level="error" includeLocation="true">
满血拉二胡 残血到处浪

浙公网安备 33010602011771号