4台服务器

192.168.136.128 主

192.168.136.129 从

192.168.136.130 从

192.168.136.131 管理服务器

一主2从,一管理,安装mysql并配置一主两从,设置mysqlbinlog和mysql系统 内核软连接

# ln -s /usr/local/mysql/bin/mysqlbinlog /usr/bin/mysqlbinlog
# ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql

1. 配置管理节点131,使4台都可以用ssh免密码彼此登录

管理节点131

ssh-keygen -t rsa 

ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.136.128 把生成的密钥传到 128,129,130 三台服务器上

ssh 192.168.136.128 测试登录是否成功

2.安装MHA

0.1 依赖安装:

节点依赖安装

yum install perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker

yum install perl-DBD-MySQL

在manager节点上

yum install perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker

yum install perl-DBD-MySQL

yum install perl-Config-Tiny

yum install perl-Log-Dispatch

yum install perl-Parallel-ForkManager

yum install -y rrdtool perl-rrdtool rrdtool-devel perl-Params-Validate

0.2 rpm包安装: rpm包下载地址(https://pan.baidu.com/s/1jIILpXW)

manager节点:

# rpm -ivh mha4mysql-manager-0.56-0.el6.noarch.rpm
# rpm -ivh mha4mysql-node-0.56-0.el6.noarch.rpm

node节点:

# rpm -ivh mha4mysql-node-0.56-0.el6.noarch.rpm

3 配置

mkdir -p /etc/masterha  存放配置文件

mkdir -p /var/log/masterha 存放日志

[server default]
manager_workdir=/var/log/masterha/app1 //设置manager的工作目录
manager_log=/var/log/masterha/app1/manager.log //设置manager的日志
user=root 设置监控用户root
password=wangxiaohu //设置mysql中root用户的密码
repl_user=root //设置复制环境中的复制用户名
repl_password=wangxiaohu //设置复制用户的密码
ssh_user=root //设置ssh的登录用户名
ping_interval=1
shutdown_script=""
master_ip_online_change_script=""
report_script=""
master_binlog_dir=/www/server/data //节点binlog的位置 [server1]
hostname=192.168.136.128
port=3306 [server2]
hostname=192.168.136.129
port=3306 [server3]
hostname=192.168.136.130
port=3306

测试一下ssh

masterha_check_ssh --conf=/etc/masterha/app1.cnf

测试一下复制:

masterha_check_repl --conf=/etc/masterha/app1.cnf

开启masterha_manager

nohup masterha_manager --conf=/etc/masterha/app1.cnf > /tmp/mha_manager.log  2>&1 &

看一下状态

masterha_check_status --conf=/etc/masterha/app1.cnf

masterha_check_ssh              检查MHA的SSH配置状况
masterha_check_repl 检查MySQL复制状况
masterha_manger 启动MHA
masterha_check_status 检测当前MHA运行状态
masterha_master_monitor 检测master是否宕机
masterha_master_switch 控制故障转移(自动或者手动)
masterha_conf_host 添加或删除配置的server信息

  

看一下日志

tail -f /var/log/masterha/app1/manager.log

测试

停掉192.168.136.128 主mysql    service mysql stop

发现 129 成为主,130的主改成129,说明配置成功

mha 处理完故障会自动停止,让用户处理完故障,在打开,解除128故障后,把128设置成从库,修改mha的配置文件中的server1,启动mha,又一切恢复正常

更多资料

http://www.cnblogs.com/wingsless/p/4033093.html

MHA高可用集群安装配置的更多相关文章

  1. ActiveMQ 高可用集群安装、配置(ZooKeeper + LevelDB)

    ActiveMQ 高可用集群安装.配置(ZooKeeper + LevelDB) 1.ActiveMQ 集群部署规划: 环境: JDK7 版本:ActiveMQ 5.11.1 ZooKeeper 集群 ...

  2. MHA 高可用集群搭建(二)

    MHA 高可用集群搭建安装scp远程控制http://www.cnblogs.com/kevingrace/p/5662839.html yum install openssh-clients mys ...

  3. MySQL MHA 高可用集群部署及故障切换

    MySQL MHA 高可用集群部署及故障切换 1.概念 2.搭建MySQL + MHA 1.概念: a)MHA概念 : MHA(MasterHigh Availability)是一套优秀的MySQL高 ...

  4. activemq+Zookeper高可用集群方案配置

    在高并发.对稳定性要求极高的系统中,高可用的是必不可少的,当然ActiveMQ也有自己的集群方案.从ActiveMQ 5.9开始,ActiveMQ的集群实现方式取消了传统的Master-Slave方式 ...

  5. ClickHouse高可用集群的配置

    上一篇文章写过centos 7下clickhouse rpm包安装和基本的目录结构,这里主要介绍clickhouse高可用集群的部署方案,因为对于默认的分布式表的配置,每个分片只有一份,这样如果挂掉一 ...

  6. Redis Cluster 4.0高可用集群安装、在线迁移操作记录

    之前介绍了redis cluster的结构及高可用集群部署过程,今天这里简单说下redis集群的迁移.由于之前的redis cluster集群环境部署的服务器性能有限,需要迁移到高配置的服务器上.考虑 ...

  7. hadoop+yarn+hbase+storm+kafka+spark+zookeeper)高可用集群详细配置

    配置 hadoop+yarn+hbase+storm+kafka+spark+zookeeper 高可用集群,同时安装相关组建:JDK,MySQL,Hive,Flume 文章目录 环境介绍 节点介绍 ...

  8. Hadoop完全高可用集群安装

    架构图(HA模型没有SNN节点) 用vm规划了8台机器,用到了7台,SNN节点没用   NN DN SN ZKFC ZK JNN RM NM node1 *     *         node2 * ...

  9. Neo4j 高可用集群安装

    安装neo4j高可用集群,抓图安装过程 http://www.ibm.com/developerworks/cn/java/j-lo-neo4j/ Step1.下载neo4j商业版并解压,复制为neo ...

随机推荐

  1. python测试网页是否能正常登陆

    #!/usr/bin/python #encoding:utf-8 ##实现网页的登陆检查 import HTMLParser import urlparse import cookielib imp ...

  2. Mqtt协议IOS端移植2

    MqttFramework.h #import <Foundation/Foundation.h> #import "MQTTClient.h" #import &qu ...

  3. 为什么jdbc中的resultset只能取一次去第二次就报错了

    引用 6 楼  的回复: 好吧各位,应该写getInt(1)但是我要问的是为什么第二次用会出错 啊,好古老的一个问题... 第二次出错的原因,是因为你创建Statement的时候,没有指定结果集(游标 ...

  4. mapreduce学习资料

    http://blog.csdn.net/tianjun2012/article/category/6794531 http://blog.csdn.net/tianjun2012/article/d ...

  5. HUAWEI HiAI亮相Droidcon柏林2018开发者峰会 开启HiAI海外生态

    柏林时间6月25日到27日,华为HiAI亮相Droidcon柏林2018开发者峰会,有1200多位海外开发者参加了此次峰会,来自HUAWEI HiAI领域的多名专家携手Prisma和金山WPS,以“E ...

  6. 细细品味大数据--初识hadoop

    初识hadoop 前言 之前在学校的时候一直就想学习大数据方面的技术,包括hadoop和机器学习啊什么的,但是归根结底就是因为自己太懒了,导致没有坚持多长时间,加上一直为offer做准备,所以当时重心 ...

  7. iOS开发---业务逻辑

    iOS开发---业务逻辑   1. 业务逻辑 iOS的app开发的最终目的是要让用户使用, 用户使用app完成自己的事就是业务逻辑, 业务逻辑的是最显眼开发工作.但是业务逻辑对于开发任务来说, 只是露 ...

  8. Android自定义View分析

    一.基本步骤 1.自定义View的属性 2.在View的构造方法中获取自定义属性 3.重写onMesure方法(非必须) 4.重写onDraw方法 二.具体实现 1.自定义View的属性,首先在res ...

  9. (转)linux设备驱动之USB数据传输分析 二

    3.2:控制传输过程1:root hub的控制传输在前面看到,对于root hub的情况,流程会转入rh_urb_enqueue().代码如下:static int rh_urb_enqueue (s ...

  10. centos7.0 增加/usr分区的容量减少home分区的大小

    把/home内容备份,然后将/home文件系统所在的逻辑卷删除,扩大/root文件系统,新建/home:tar cvf /tmp/home.tar /home #备份/homeumount /home ...