搭建MHA环境【1】规划+linux相关的设置
【1】规划
MHA这套软件包涵两个部分
1、manager :主要负责对MySQL集群状态的检查&在master 库宕机时对故障进行转移。
2、node :主要包涵状态检查&故障转移时会用到的几个脚本,manger 也依赖这些脚本。
对于环境中的每一个数据节点都要安装node 包,管理节点上要安装manger 包 & node 包;当然也可以选择在一台slave上安装node&manger 这样这台slave 不只是
node 角色也是manger角色;本例子也是在一台slave上同时安装上node+manger
环境的总休架构如下:
主机 mysql角色 mha角色 linux-版本 主机名
192.168.80.130 master node centos-6.6 mhamaster
192.168.80.131 slave node centos-6.6 mhaslave01
192.168.80.132 slave node+manger centos-6.6 mhaslave02
【2】与linux系统相关的设置
1、manger 与node 之前是要有通信的,不要让防火墙把这个给挡了,我的解决方案比较暴力,直接关闭防火墙
service iptables stop
chkconfig iptables off
2、做好各个主机之间root用户的无密码登录、主要用到的命令有
ssh-keygen ssh-copy-id
3、安装epel源、这里先补充一点课外知识;下载过centos系统iso文件的用户一定知道有一个文件叫xxx.dvd1.iso 还有个文件叫xxx.dvd2.iso ;有dvd1.iso就可以
安装系统了;同时这个dvd1.iso中也包涵一些rpm包,重点来了;dvd1.iso 中的rpm包属于base源,dvd2.iso这里的软件包属于extra源;然而不管是base 还是extra它们
它们都算官方源,还有一个半官方的就是epel源啦,epel源作为base 和extra 的一个补充。回到epel 为什么我要说它呢?就是因为在安装mha时依赖到里面的一些包了。虽
说mha是perl写的可以从cpan中下载到所依赖的包,手工编译安装,之前我试过几次后来都放弃了,因为依赖的层次太深了。
3.1 打开-->下载你系统所对应的 epel-release并安装
https://fedoraproject.org/wiki/EPEL
3.2 安装
rpm -ivh epel-release-latest-6.noarch.rpm
4、配置好各个主机的DNS解析、当然这不是必须的、如果你不想在mha的配置文件中写ip地址,而是写主机名的话。
我环境的/etc/hosts文件内容如下:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.80.130 mhamaster 192.168.80.131 mhaslave01 192.168.80.131 mhaslave01