MHA的安裝搭建步驟

安裝基本環(huán)境:
master:192.168.0.1
node:192.168.0.2 192.168.0.3
vip:192.168.0.101

1、機器添加ssh信任

ssh-keygen
cat ~/.ssh/ip_rsa.pub >> ~/.ssh/authorized.keys
rm kown_hosts
chomod  600 authorized.keys
scp –r .ssh 192.168.0.2:~/
scp -r .ssh  192.168.0.3:~/ 

2、下載mha

master:https://github.com/yoshinorim/mha4mysql-manager/releases
node:https://github.com/yoshinorim/mha4mysql-node/releases

3、在三臺機器中安裝依賴

安裝epel源
yum install -y epel-release
安裝perl
yum install perl-DBD-MySQL
yum install perl-Config-Tiny
yum install perl-Log-Dispatch
yum install perl-Parallel-ForkManager

4、安裝mysql,部署主從結(jié)構(gòu)

master 192.168.0.1 >> slave:192.168.0.2 192.168.0.3
創(chuàng)建mha賬號

5、安裝mha node

在manager節(jié)點和node節(jié)點中都需要安裝mha node
rpm包安裝方式:
yum localinstall -y mha4mysql-node-0.58-0.el7.centos.noarch.rpm

6、安裝mha manager

只在manager節(jié)點上安裝
rpm包安裝方式:
yum localinstall -y mha4mysql-manager-0.58-0.el7.centos.noarch.rpm

7、MHA manager配置

mkdir /etc/masterha
vim /etc/masterha/app1.conf

[server default]
#mha manager 工作目錄
manager_workdir = /var/log/masterha/app1
manager_log = /var/log/masterha/app1/app1.log 
remote_workdir = /var/log/masterha/app1

[server1]
hostname=192.168.0.1
master_binlog_dir = /data/mysql/mysql3306/logs
candidate_master = 1
check_repl_delay = 0       

[server2]
hostname=192.168.0.2
master_binlog_dir=/data/mysql/mysql3306/logs 
candidate_master=1
check_repl_delay=0

[server3]
hostname=192.168.0.3
master_binlog_dir=/data/mysql/mysql3306/logs 
candidate_master=1
check_repl_delay=0

全局配置文件
vim /etc/masterha/masterha_defaults.conf

[server default]
#MySQL的用戶和密碼
user=root
password=root

#系統(tǒng)ssh用戶
ssh_user=root

#復制用戶
repl_user=repl
repl_password=repl4slave

#監(jiān)控
ping_interval=1
#shutdown_script=""

#切換調(diào)用的腳本
#master_ip_failover_script=/etc/masterha/master_ipfailover
#master_ip_online_change_script=/etc/masterha/master_ip_online_change

8、vip配置

綁定和刪除vip節(jié)點

[root@master masterha]# cat init_vip.sh 
vip="192.168.0.101/32"
/sbin/ip addr add $vip dev eth0
root@master masterha]# cat drop_vip.sh 
vip="192.168.0.101/32"
/sbin/ip addr del $vip dev eth0
配置vip故障切換腳本

master_ip_failover:https://github.com/yoshinorim/mha4mysql-manager/blob/master/samples/scripts/master_ip_failover
master_ip_online_change:https://github.com/yoshinorim/mha4mysql-manager/blob/master/samples/scripts/master_ip_online_change
根據(jù)作者的腳本來進行改寫配置。

9、測試配置文件

測試ssh
masterha_check_ssh --global-conf=/etc/masterha/masterha_default.conf --conf=/etc/masterha/app1.conf
測試主從結(jié)構(gòu),能不能啟動
masterha_check_slave --global-conf=/etc/masterha/masterha_default.conf --conf=/etc/masterha/app1.conf

報錯:
[/usr/local/share/perl5/MHA/MasterMonitor.pm,ln205] Slaves settings check failed!
[/usr/local/share/perl5/MHA/MasterMonitor.pm,ln413] Slave configuration failed.
[/usr/local/share/perl5/MHA/MasterMonitor.pm,ln424] Error happened on checking configurations. at /usr/local/bin/masterha_check_repl line 48
[/usr/local/share/perl5/MHA/MasterMonitor.pm,ln523] Error happened on monitoring servers.
[info] Got exit code 1 (Not master dead).

MySQL Replication Health is NOT OK!
在所有節(jié)點執(zhí)行:
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql

執(zhí)行后再次報錯:
[info] Connecting to root@192.168.0.1(192.168.0.1:22)..
Can't exec "mysqlbinlog": No suchfile or directory at /usr/local/share/perl5/MHA/BinlogManager.pm line 106.
mysqlbinlog version command failed with rc1:0, please verify PATH, LD_LIBRARY_PATH, and client options
at/usr/local/bin/apply_diff_relay_logs line 493
[/usr/local/share/perl5/MHA/MasterMonitor.pm,ln205] Slaves settings check failed!
[/usr/local/share/perl5/MHA/MasterMonitor.pm,ln413] Slave configuration failed.
[/usr/local/share/perl5/MHA/MasterMonitor.pm,ln424] Error happened on checking configurations. at /usr/local/bin/masterha_check_repl line 48
[/usr/local/share/perl5/MHA/MasterMonitor.pm,ln523] Error happened on monitoring servers.
Got exit code 1 (Not master dead).
MySQL Replication Health is NOT OK!
在所有節(jié)點執(zhí)行
[root@master masterha]#type mysqlbinlog
[root@master masterha]#mysqlbinlog is/usr/local/mysql/bin/mysqlbinlog
[root@master masterha]#ln -s/usr/local/mysql/bin/mysqlbinlog /usr/bin/mysqlbinlog
原因:都是沒有在指定位置找到相應(yīng)的文件,所以做一個軟鏈

10、MHA啟動和關(guān)閉

啟動:
第一次,手動綁定vip
sh /etc/masterha/init_vip.sh

masterha_manager --global_conf=/etc/masterha/masterha_default.conf --conf=/etc/masterha/app1.conf &

檢查MHA是否啟動和狀態(tài)
cat /var/log/masterha/app1.log

masterha_check_status --global_conf=/etc/masterha/masterha_default.conf --conf=/etc/masterha/app1.conf

停止:

masterha_stop --global_conf=/etc/masterha/masterha_default.conf --conf=/etc/masterha/app1.conf
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容