MariaDB [(none)]> GRANT ALL ON . TO 'mhamngr'@'172.16.1.%'> 建立免钥通信
MHA集群中的各节点彼此之间均需要基于ssh互信通信,以实现远程控制及数据管理功能。可在Manager节点生成密钥对,并设置其可远程连接本地主机后,将私钥文件及authorized_keys文件复制给余下的所有节点即可。
[root@manager ~]# ssh-keygen -t rsa -P ''
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): .ssh/id_rsa
Your> Your public key has been saved in .ssh/id_rsa.pub.
The key fingerprint is:
80:59:23:b9:f8:ce:7e:86:66:ad:23:82:b3:d9:a8:81 root@manager.zrs.com
The key's randomart image is:
+--[ RSA 2048]----+
| ..o |
| .= . |
| .o.. |
| . . . |
| . S |
|. . |
|E o o |
|+=. B + |
|*+.=o= |
+-----------------+
[root@manager ~]# cat .ssh/id_rsa.pub >> .ssh/authorized_keys
[root@manager ~]# chmod go= .ssh/authorized_keys
[root@manager ~]# scp -p .ssh/id_rsa .ssh/authorized_keys root@master:/root/.ssh/
The authenticity of host 'master (172.16.1.3)' can't be established.
ECDSA key fingerprint is 65:f7:d6:d7:ae:3b:a2:dc:2b:bc:33:64:0e:47:11:b4.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'master' (ECDSA) to the list of known hosts.
root@master's password:
id_rsa 100% 1675 1.6KB/s 00:00
authorized_keys 100% 402 0.4KB/s 00:00
[root@manager ~]# scp -p .ssh/id_rsa .ssh/authorized_keys root@slave1:/root/.ssh/
The authenticity of host 'slave1 (172.16.1.4)' can't be established.
ECDSA key fingerprint is eb:b4:c4:c4:aa:15:2c:f8:6b:e8:cc:59:75:7a:a5:89.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'slave1' (ECDSA) to the list of known hosts.
root@slave1's password:
id_rsa 100% 1675 1.6KB/s 00:00
authorized_keys 100% 402 0.4KB/s 00:00
[root@manager ~]# scp -p .ssh/id_rsa .ssh/authorized_keys root@slave2:/root/.ssh/
The authenticity of host 'slave2 (172.16.1.5)' can't be established.
ECDSA key fingerprint is be:2f:9f:d7:f8:2e:09:b1:7d:29:c2:76:53:0f:d2:94.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'slave2,172.16.1.5' (ECDSA) to the list of known hosts.
root@slave2's password:
id_rsa 100% 1675 1.6KB/s 00:00
authorized_keys 100% 402 0.4KB/s 00:00
安装MHA
除了源码包,MHA官方也提供了rpm格式的程序包,其下载地址为https://code.google.com/p/mysql-master-ha/wiki/Downloads?tm=2。这次安装是使用的rpm格式,在manager和node的所有节点均需安装MHA Node。
安装 MHA Manager
rpm安装方式:
[root@manager ~]# yum install perl-DBD-MySQLperl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager
[root@manager ~]# rpm -ivh mha4mysql-node-0.56-0.el6.noarch.rpm
[root@manager ~]# rpm -ivh mha4mysql-manager-0.56-0.el6.noarch.rpm
tar包安装方式:
tar -zxf mha4mysql-manager-0.56.tar.gz
cd mha4mysql-manager-0.56
perl Makefile.PL
make
make install
安装 MHA Node
rpm安装方式:
~]# yum install perl-DBD-MySQL
~]# rpm -ivh mha4mysql-node-0.56-0.el6.noarch.rpm
tar包安装方式:
tar -zxfmha4mysql-node-0.56.tar.gz
cd mha4mysql-node-0.56
perl Makefile.PL
make
make install
初始化 MHA
Manger节点需要为每个监控的master/slave集群提供一个专用的配置文件,而所有的master/slave 集群也可共享全局配置。全局配置文件默认为/etc/masterha_default.cnf,其为可选配置。如果仅监控一组 master/slave集群,也可直接通过application的配置来提供各服务器的默认配置信息。而每个application的配置文件路径为自定义,本次实验将使用/etc/masterha/app1.cnf
[server default]
user=mhamngr
password=mhapass
manager_workdir=/data/masterha/app1
manager_log=/data/masterha/app1/manager.log
remote_workdir=/data/masterha/app1
ssh_user=root
repl_user=repluser
repl_password=replpass
ping_interval=1
[server1]
hostname=172.16.1.3
candidate_master=1
[server2]
hostname=172.16.1.4
candidate_master=1
[server3]
hostname=172.16.1.5
检测各节点间ssh互信通信配置是否正常
[root@manager ~]# masterha_check_ssh --conf=/etc/masterha/app1.cnf
看到输出的信息中,最后一行显示如下,表示其通过检测。
[info] All SSH connection tests passed successfully.
检查管理的MySQL复制集群的连接配置参数是否正常
[root@manager ~]# masterha_check_repl --conf=/etc/masterha/app1.cnf
看到输出的信息中,最后一行显示如下,表示其通过检测。
MySQL Replication Health is OK.
启动MHA
[root@manager ~]# nohup masterha_manager --conf=/etc/masterha/app1.cnf > /data/masterha/app1/manager.log 2>&1 &
查看master节点的状态
[root@manager ~]# masterha_check_status --conf=/etc/masterha/app1.cnf
app1 (pid:23265) is running(0:PING_OK), master:172.16.1.3
[root@manager ~]#
停止MHA
[root@manager ~]# masterha_stop --conf=/etc/masterha/app1.cnf
Stopped app1 successfully.
MHA 提供诸多工具程序,其常见的如下所示。
Manager 节点: