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的基础配置示例,某些特定配置此例中不会出现,在示例中会用到三个虚拟机:两个纯命令行用于模拟服务端配置,一个带桌面环境的用于模拟客户端访问,这 ...
随机推荐
- angular学习笔记【ng2-charts】插件添加
原文:https://segmentfault.com/a/1190000008077830 1. 安装 ng2-charts npm install ng2-charts --save2. 还必须引 ...
- chapter09
import java.io.File import java.nio.file._ import scala.collection.mutable.ArrayBuffer/** * Created ...
- python模块之time方法详细介绍
>>> import time >>> dir(time) ['_STRUCT_TM_ITEMS', '__doc__', '__loader__', '__nam ...
- 剑指Offer——数组中只出现一次的数字(一个很帅的异或解法)
题目: 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字. 看题目脑子里就出现做法了: 遍历,用个HashMap来记录出现的次数,然后再遍历HashMap返回 ...
- 原生ajax瀑布流demo
最近听朋友们说起瀑布流挺多的,自己就去研究下了,一个简单的原生demo,分享给大家... 简单分为三个文档,有详细的注释:img:ajax.php:demo.php 其中img文件夹中放入图片 1.j ...
- c语言数据结构:用标志位实现循环队列
#include<stdio.h> #include<stdlib.h> #define MAXSIZE 10//定义队列长度 ;//定义标志位 typedef struct ...
- C#执行异步操作的几种方式比较和总结(转发:https://www.cnblogs.com/durow/p/4826653.html)
0x00 引言 之前写程序的时候在遇到一些比较花时间的操作例如HTTP请求时,总是会new一个Thread处理.对XxxxxAsync()之类的方法也没去了解过,倒也没遇到什么大问题.最近因为需求要求 ...
- 中标麒麟高级服务器操作系统V6
平台: linux 类型: 虚拟机镜像 软件包: java-1.6.0 mysql-5.1.5 python-2.6 qt3-3.3.8b basic software linux neokylin ...
- Team Foundation 版本控制
与 Visual Studio 的一流集成. 使用富文件和文件夹差异工具突出显示代码更改. 借助强大的可视化跨分支跟踪代码更改. 集成的代码评审工具有助于在签入代码之前获得反馈. 使用托管版本或本地版 ...
- javascript字符串格式化string.format
String.prototype.format = function () { var values = arguments; return this.replace(/\{(\d+)\}/g, fu ...