MHA高可用集群安装配置

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

原文地址:https://www.cnblogs.com/microtiger/p/7717132.html