文章內容輸出來源:拉勾教育Java高薪訓練營;
準備工作
在進行MHA搭建之前需要先保證mysql的主從同步的搭建,具體搭建過程參考之前的文章鏈接: 超簡單的mysql主從同步搭建過程
所需安裝包:
鏈接: https://pan.baidu.com/s/1-PhqASiLL1nSqMFqcnOrQA 提取碼: cg4v
搭建環境
ip | 角色 |
---|---|
47.111.102.190 | MHA Manager |
121.40.189.18 | master |
121.40.142.119 | slave |
121.196.43.166 | slave |
SSH互通環境
MHA集羣的各節點直接需要基於ssh互相通信,先將主從的服務器之間免密ssh互通
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
MHA搭建
MHA安裝之前需要先安裝這兩個查詢依賴,不然可能會安裝失敗
yum install perl-ExtUtils-MakeMaker
yum install perl-Test-Simple
四個節點都需安裝node
yum install -y mha4mysql-node-0.58-0.el7.centos.noarch.rpm
Manager 節點另需要安裝manage
yum install -y mha4mysql-manager-0.58-0.el7.centos.noarch.rpm
初始化MHA 添加配置
mkdir /etc/mha_master
vim /etc/mha_master/mha.cnf
[server default]
user=root //管理用戶
password=root //管理密碼
manager_workdir=/etc/mha_master/app1 //mha_master自己的工作路徑
manager_log=/etc/mha_master/manager.log // mha_master自己的日誌文件
remote_workdir=/mydata/mha_master/app1 //每個遠程主機的工作目錄在何處
ssh_user=root // 基於ssh的密鑰認證
repl_user=root //數據庫用戶名
repl_password=root //數據庫密碼
ping_interval=1 //ping間隔時長
[server1] //節點
hostname=121.40.189.18 //節點主機地址
ssh_port=22 //節點的ssh端口
candidate_master=1 //將來可不可以成爲master候選節點/主節點
[server2]
hostname=121.40.142.119
ssh_port=22
candidate_master=1
[server3]
hostname=121.196.43.166
ssh_port=22
candidate_master=1
對節點進行檢測
masterha_check_ssh -conf=/etc/mha_master/mha.cnf
如果最後一行顯示爲[info]All SSH connection tests passed successfully.
則表示成功
檢查管理的MySQL複製集羣的連接配置參數是否OK
masterha_check_repl -conf=/etc/mha_master/mha.cnf
啓動MHA
nohup masterha_manager -conf=/etc/mha_master/mha.cnf &> /etc/mha_master/manager.log &
查看master節點狀態
masterha_check_status -conf=/etc/mha_master/mha.cnf mha (pid:7598) is running(0:PING_OK), master:121.40.189.18
然後進行測試
停掉master節點
查看日誌
tail -200 /etc/mha_master/manager.log
主節點自動切換
完成;