Atlas 配置高可用
keepalived安装
#下载keepalived
./configure --prefix=/usr/local
Make && make install Atlas主安装keepalived Atlas备安装keepalived
Atlas1 keepalived配置文件修改
Atlas1 Keepalived.conf文件如下:
! Configuration File for keepalived
global_defs {
}
#自定义vrrp脚本
vrrp_script chk_port {
script /etc/keepalived/atlas.sh
#60秒检查一次
interval 60
}
vrrp_instance VI_1 {
#指定节点状态
state BACKUP
#制定绑定的网卡
interface eth0
#vrrp 组ID,同一组内必须相同
virtual_router_id 51
#优先权,值大优先级大
priority 100
#组播信息发送间隔
advert_int 1
#禁止抢占
nopreempt
#验证信息,两节点设置相同
authentication {
auth_type PASS
auth_pass 99989
}
track_script {
chk_port
}
#虚拟IP,两节点设置相同
virtual_ipaddress {
#虚拟IP 申请
192.168.0.221/24 dev eth0
}
##扩展
#notify_master /etc/keepalived/m.sh
#notify_backup /etc/keepalived/b.sh
}
Atlas1 脚本 /etc/keepalived/atlas.sh
10秒检查一次,如果3次Atlas都是关闭,停止keepalived服务,vip切换
#!/bin/bash
v_port=3100
v_j=0
for ((i=0; i<3; i++)); do
#检测端口是否存在,用端口 或者 用进程
v_num=`netstat -npl | grep $v_port | grep mysql-proxy | wc -l`
v_mysql_proxy_num=`ps -C mysql-proxy --no-header |wc -l`
#端口不在,进程不在,关闭keepalived,切换VIP
if [ "$v_num" == "" -a "$v_mysql_proxy_num" == "" ]
then
v_j=`expr $v_j + 1`
fi
sleep 10
done if [ "$v_j" == "" ]
then
killall keepalived
fi
Atlas2 keepalived配置文件修改
! Configuration File for keepalived
global_defs {
}
#自定义vrrp脚本
vrrp_script chk_port {
script /etc/keepalived/atlas.sh
interval 60
}
vrrp_instance VI_1 {
#指定节点状态
state BACKUP
#制定绑定的网卡
interface eth0
#vrrp 组ID,同一组内必须相同
virtual_router_id 51
#优先权,值大优先级大
priority 100
#组播信息发送间隔
advert_int 1
#禁止抢占
nopreempt
#验证信息,两节点设置相同
authentication {
auth_type PASS
auth_pass 99989
}
track_script {
chk_port
}
#虚拟IP,两节点设置相同
virtual_ipaddress {
192.168.0.221/24 dev eth0
}
##扩展
#notify_master /etc/keepalived/m.sh
#notify_backup /etc/keepalived/b.sh
}
Atlas2 脚本 /etc/keepalived/atlas.sh
10秒检查一次,如果3次Atlas都是关闭,停止keepalived服务,vip切换
#!/bin/bash
v_port=3100
v_j=0
for ((i=0; i<3; i++)); do
#检测端口是否存在,用端口 或者 用进程
v_num=`netstat -npl | grep $v_port | grep mysql-proxy | wc -l`
v_mysql_proxy_num=`ps -C mysql-proxy --no-header |wc -l`
#端口不在,进程不在,关闭keepalived,切换VIP
if [ "$v_num" == "" -a "$v_mysql_proxy_num" == "" ]
then
v_j=`expr $v_j + 1`
fi
sleep 10
done if [ "$v_j" == "" ]
then
killall keepalived
fi
说明
Atlas1,Atlas2 keepalived配置相同,BACKUP-BACKUP
三次扫描3100端口,如果不存在,关闭keepalived。VIP切换,注意目前Atlas主,从之间端口不一致。
主从端口最好一致,端口不一致,jdbc failover控制,不知道会不会出问题. 发生vip切换,需要查找原因,keepalived关闭后,需要手动启动,启动后不会占vip。
关于haproxy
连接池暂不考虑haproxy,如果性能出问题,最先在数据库,而不是中间件
Atlas 配置高可用的更多相关文章
- 集群相关、用keepalived配置高可用集群
1.集群相关 2.keepalived相关 3.用keepalived配置高可用集群 安装:yum install keepalived -y 高可用,主要是针对于服务器硬件或服务器上的应用服务而 ...
- Nginx 配置高可用
阅读本文需要安装Nginx 一 什么是高可用 nginx作为负载均衡服务器 所有请求都到了nginx 可见nginx处于非常重要的位置 如果nginx服务器宕机 后端web服务器将无法提供服务 影响严 ...
- Azure 配置高可用的准备系列工作-建立不同区域的存储账户和建立网络!
我们谈到我们的业务,常常谈到一个词.三层架构,就是我们的UI层.数据訪问层和数据存储层的分离,通常情况下我们的业务高可用必须满足这三层的所有高可用的情况下才干达到最高级别的高可用. 那么谈到Az ...
- Linux集群介绍、keepalived介绍及配置高可用集群
7月3日任务 18.1 集群介绍18.2 keepalived介绍18.3/18.4/18.5 用keepalived配置高可用集群扩展heartbeat和keepalived比较http://blo ...
- Nginx 配置高可用的集群
1.什么是 nginx 高可用 (1)需要两台 nginx 服务器 (2)需要 keepalived (3)需要虚拟 ip 2.配置高可用的准备工作 (1)需要两台服务器 192.168.17.129 ...
- Linux centosVMware 集群介绍、keepalived介绍、用keepalived配置高可用集群
一.集群介绍 根据功能划分为两大类:高可用和负载均衡 高可用集群通常为两台服务器,一台工作,另外一台作为冗余,当提供服务的机器宕机,冗余将接替继续提供服务 实现高可用的开源软件有:heartbeat. ...
- Nginx 配置实例-配置高可用
Nginx 配置实例-配置高可用 1. 实现效果 2. 两台机器 nginx 的安装 2.1 192.168.25.120 中 nginx 的安装 2.1.1 安装 pcre 依赖 2.1.2 安装其 ...
- 配置高可用的Hadoop平台
1.概述 在Hadoop2.x之后的版本,提出了解决单点问题的方案--HA(High Available 高可用).这篇博客阐述如何搭建高可用的HDFS和YARN,执行步骤如下: 创建hadoop用户 ...
- Keepalived+Nginx+Tomcat配置高可用负载均衡系统示例
前言 此示例为keepalived+nginx+tomcat的基础配置示例,某些特定配置此例中不会出现,在示例中会用到三个虚拟机:两个纯命令行用于模拟服务端配置,一个带桌面环境的用于模拟客户端访问,这 ...
随机推荐
- java——String、StringBuffer、StringBuilder、包装类、单双引号
String: String是一个特殊的类,被定义为final类型,为字符串常量,同样的字符串在常量池中不能重复. 但是由于使用关键字new创建新的字符串,java会在对中分配新的空间,这样即使字符串 ...
- 如何直接修改cf,of等标志位的值?
如何直接修改 cf,of 等 标志寄存器位的值? 我记得在哪个教程里见过,但是不太记得了… 貌似是在yjx驱动教程里面… 我想弄这个的原因是想验证 网上查到的 各种跳转语句(ja,jl,jg等) 需要 ...
- IE6/IE7下只设置margin-left,左右都有边距问题
CSS代码 div { border: 1px solid red; } .inner { width: 80px; height: 80px; float: left; position: rela ...
- mac下远程win8.1时提示"桌面连接无法验证您希望连接的计算机的身份"的解决办法
在os x下使用远程桌面到win8.1,总出现“远程桌面连接无法验证您希望连接的计算机的身份”的提示. 解决方法:1.网上各种解释,包括防火墙是否打开,是否去掉“仅允许运行使用网络级别身份验证的远程计 ...
- usb-host一步一步学(一)安卓在usb-host模式下列出当前连接的usb设备
在本次尝试中,我的安卓手机(HTC One X) 通过OTG线作为usb主机模式列出当前插入的usb设备,版本要求minSDKVersion="12". 没有外设的情况下,结果如下 ...
- linux 解决 gvfsd-smb-browse CPU 100%占用
原文地址:https://bugzilla.redhat.com/show_bug.cgi?id=1303300 1: sudo vim /etc/samba/smb.conf 2:定位到[globa ...
- html标签补充
<body>内常用标签 1.<div>和<span> <div></div> : <div>只是一个块级元素,并无实际的意义.主 ...
- 运用CSS3媒体查询判断iPhoneX、iPhoneXR、iPhoneXS MAX及横竖屏
//iphoneX.iphoneXs @media only screen and (device-width: 375px) and (device-height: 812px) and (-web ...
- addin修改启动路径
- JAVA继承与使用
说来惭愧,java学完已经两年了,开发也已经做了快一年了,现在才基本了解继承怎么用,平时都是在一个类中乱写一气.现在感觉原来学的知识真正运用起来还是具有一定的差距.希望能够先夯实基础,共勉.写一下自己 ...