實驗拓撲圖如下
實驗環境如下
實驗環境如下
所有主機的防火牆要關閉
後面用到的所有軟件包,都在這裏了
鏈接:https://pan.baidu.com/s/1L7j55GvLEuYLFQ1HTWLD8w
提取碼:rgi1
一.首先配置後端mysql
關於安裝這裏不闡述,直接進行MHA配置
在sqlmaster,sqlsalve1,sqlslave2,主機操作,注意看我這前面的主機名,關於在哪個主機上操作,我就不闡述了
1)配置免密登陸
master
[root@sqlmaster ~]# ssh-keygen -t rsa
[root@sqlmaster ~]# ssh-copy-id 192.168.1.11
[root@sqlmaster ~]# ssh-copy-id 192.168.1.12
[root@sqlmaster ~]# ssh-copy-id 192.168.1.13
slave1
[root@sqlslave1 ~]# ssh-keygen -t rsa
[root@sqlslave1 ~]# ssh-copy-id 192.168.1.11
[root@sqlslave1 ~]# ssh-copy-id 192.168.1.12
[root@sqlslave1 ~]# ssh-copy-id 192.168.1.13
slave2
[root@sqlslave2 ~]# ssh-keygen -t rsa
[root@sqlslave2 ~]# ssh-copy-id 192.168.1.11
[root@sqlslave2 ~]# ssh-copy-id 192.168.1.12
[root@sqlslave2 ~]# ssh-copy-id 192.168.1.13
2)上傳節點軟件包並安裝
master
[root@sqlmaster ~]# mkdir mha
[root@sqlmaster mha]# tar -zxvf mhapath.tar.gz -C /root
[root@sqlmaster mha]# vim /etc/yum.repos.d/centos7.repo
[centos]
name=centos7
baseurl=file:///mnt
enabled=1
gpgcheck=0
[mha]
name=mha
baseurl=file:///root/mhapath
enabled=1
gpgcheck=0
[root@sqlmaster mha]# mount /dev/cdrom /mnt/
[root@sqlmaster mha]# yum -y install perl-DBD-MySQL perl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager --skip-broken --nogpgcheck
[root@sqlmaster mha]# rpm -ivh mha4mysql-node-0.57-0.el7.noarch.rpm
給slave節點傳過去,也安裝上MHA軟件
[root@sqlmaster ~]# scp -r /etc/yum.repos.d/* 192.168.1.12:/etc/yum.repos.d/
[root@sqlmaster ~]# scp -r /etc/yum.repos.d/* 192.168.1.13:/etc/yum.repos.d/
[root@sqlmaster ~]# scp -r /root/mha/mha4mysql-node-0.57-0.el7.noarch.rpm 192.168.1.12:/root
[root@sqlmaster ~]# scp -r /root/mha/mha4mysql-node-0.57-0.el7.noarch.rpm 192.168.1.13:/root
[root@sqlmaster ~]# scp -rf mhapath 192.168.1.12:/root
[root@sqlmaster ~]# scp -r mhapath 192.168.1.13:/root
slave1中
[root@sqlslave1 ~]# mount /dev/cdrom /mnt/
[root@sqlslave1 ~]# yum -y install perl-DBD-MySQL perl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager --skip-broken --nogpgcheck
[root@sqlslave1 ~]# rpm -ivh /root/mha4mysql-node-0.57-0.el7.noarch.rpm
slave2中
[root@sqlsalve2 ~]# mount /dev/cdrom /mnt/
[root@sqlsalve2 ~]# yum -y install perl-DBD-MySQL perl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager --skip-broken --nogpgcheck
[root@sqlsalve2 ~]# rpm -ivh /root/mha4mysql-node-0.57-0.el7.noarch.rpm
3)安裝管理節點
安裝一下MHA manager管理節點,我這是在master上安裝的
master中
[root@sqlmaster ~]# yum install perl-DBD-MySQL perl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager perl-Time-HiRes perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker perl-CPAN -y
[root@sqlmaster ~]# rpm -ivh /root/mha/mha4mysql-manager-0.57-0.el7.noarch.rpm
4)主從配置
master中
[root@sqlmaster ~]# vim /etc/my.cnf 添加如下兩句
log-bin=mysql-bin-master
server-id=1
[root@sqlmaster ~]# systemctl restart mysqld
授權
[root@sqlmaster ~]# mysql -uroot -p123456
mysql> grant replication slave on *.* to repl@'192.168.1.%' identified by '123456';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> grant all privileges on *.* to 'root'@'192.168.1.%' identified by '123456';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
slave1中
[root@sqlslave1 ~]# vim /etc/my.cnf
添加
log-bin=mysql-salve1
server-id=2
log_slave_updates=1
[root@sqlslave1 ~]# systemctl restart mysqld
授權
[root@sqlslave1 ~]# mysql -uroot -p123456
mysql> grant replication slave on *.* to 'repl'@'192.168.1.%' identified by '123456';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> grant all privileges on *.* to 'root'@'192.168.1.%' identified by '123456';
Query OK, 0 rows affected, 1 warning (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
建立主從
mysql> change master to master_host='192.168.1.11',master_user='repl',master_password='123456';
Query OK, 0 rows affected, 2 warnings (0.21 sec)
mysql> start slave;
Query OK, 0 rows affected (0.01 sec)
mysql> show slave status\G;
...
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
...
slave2中
[root@sqlsalve2 ~]# vim /etc/my.cnf
添加
log-bin=mysql-slave2
server-id=3
log_slave_updates=1
[root@sqlsalve2 ~]# systemctl restart mysqld
授權
[root@sqlsalve2 ~]# mysql -uroot -p123456
mysql> grant replication slave on *.* to 'repl'@'192.168.1.%' identified by '123456';
Query OK, 0 rows affected, 1 warning (0.01 sec)
mysql> grant all privileges on *.* to 'root'@'192.168.1.%' identified by '123456';
Query OK, 0 rows affected, 1 warning (0.04 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.15 sec)
主從關係
mysql> change master to master_host='192.168.1.11',master_user='repl',master_password='123456';
Query OK, 0 rows affected, 2 warnings (0.07 sec)
mysql> start slave;
Query OK, 0 rows affected (0.08 sec)
mysql> show slave status\G
...
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
...
5)兩臺slave設置臨時只讀
[root@sqlslave1 ~]# mysql -uroot -p123456 -e 'set global read_only=1’
[root@sqlsalve2 ~]# mysql -uroot -p123456 -e 'set global read_only=1’
6)MHA設置
master(MHA manager)中
[root@sqlmaster ~]# mkdir -p /etc/masterha
[root@sqlmaster ~]# mkdir -p /var/log/masterha/app1
[root@sqlmaster ~]# vim /etc/masterha/app1.cnf
[server default]
manager_workdir=/var/log/masterha/app1
manager_log=/var/log/masterha/app1/manager.log
master_binlog_dir=/data/mysql/data
user=root
password=123456
ping_interval=1
remote_workdir=/tmp
repl_user=repl
repl_password=123456
ssh_user=root
[server1]
hostname=192.168.1.11
port=3306
[server2]
hostname=192.168.1.12
port=3306
candidate_master=1
check_repl_delay=0
[server3]
hostname=192.168.1.13
port=3306
在slave1和slave2中,設置不自動清除中繼日誌
[root@sqlslave1 ~]# mysql -uroot -p123456 -e 'set global relay_log_purge=0’
[root@sqlsalve2 ~]# mysql -uroot -p123456 -e 'set global relay_log_purge=0’
7)檢測羣集狀態
master(MHA manager)中
SSH檢測
[root@sqlmaster ~]# masterha_check_ssh --conf=/etc/masterha/app1.cnf
環境檢測
[root@sqlmaster ~]# masterha_check_repl --conf=/etc/masterha/app1.cnf
8)配置VIP地址
master(MHAmanager)中
[root@sqlmaster ~]# ifconfig ens33:1 192.168.1.99 netmask 255.255.255.0 up
[root@sqlmaster ~]# ifconfig
...
ens33:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.99 netmask 255.255.255.0 broadcast 192.168.1.255
ether 00:0c:29:ea:b3:4d txqueuelen 1000 (Ethernet)
修改配置文件,支持VIP
添加下面句話,在[server default]段中
master_ip_failover_script=/usr/bin/master_ip_failover
如下
[server default]
manager_workdir=/var/log/masterha/app1
manager_log=/var/log/masterha/app1/manager.log
master_binlog_dir=/data/mysql/data
user=root
password=123456
ping_interval=1
remote_workdir=/tmp
repl_user=repl
repl_password=123456
ssh_user=root
master_ip_failover_script=/usr/bin/master_ip_failover
[server1]
hostname=192.168.1.11
port=3306
[server2]
hostname=192.168.1.12
port=3306
candidate_master=1
check_repl_delay=0
[server3]
hostname=192.168.1.13
port=3306
編寫VIP自動切換腳本
[root@sqlmaster ~]# vim /usr/bin/master_ip_failover
#!/usr/bin/env perl
use strict;
use warnings FATAL => 'all';
use Getopt::Long;
my (
$command, $ssh_user, $orig_master_host, $orig_master_ip,
$orig_master_port, $new_master_host, $new_master_ip, $new_master_port
);
my $vip = '192.168.1.99/24';
my $key = '1';
my $ssh_start_vip = "/sbin/ifconfig ens33:$key $vip";
my $ssh_stop_vip = "/sbin/ifconfig ens33:$key down";
GetOptions(
'command=s' => \$command,
'ssh_user=s' => \$ssh_user,
'orig_master_host=s' => \$orig_master_host,
'orig_master_ip=s' => \$orig_master_ip,
'orig_master_port=i' => \$orig_master_port,
'new_master_host=s' => \$new_master_host,
'new_master_ip=s' => \$new_master_ip,
'new_master_port=i' => \$new_master_port,
);
exit &main();
sub main {
print "\n\nIN SCRIPT TEST====$ssh_stop_vip==$ssh_start_vip===\n\n";
if ( $command eq "stop" || $command eq "stopssh" ) {
my $exit_code = 1;
eval {
print "Disabling the VIP on old master: $orig_master_host \n";
&stop_vip();
$exit_code = 0;
};
if ($@) {
warn "Got Error: $@\n";
exit $exit_code;
}
exit $exit_code;
}
elsif ( $command eq "start" ) {
my $exit_code = 10;
eval {
給與執行權限
[root@sqlmaster ~]# chmod +x /usr/bin/master_ip_failover
再次檢測,結果應該和上面檢測結果一樣纔對
[root@sqlmaster ~]# masterha_check_repl --conf=/etc/masterha/app1.cnf
9)開啓監控
運行如下指令,然後回車
nohup masterha_manager --conf=/etc/masterha/app1.cnf \
--remove_dead_master_conf --ignore_last_failover < /dev/null > \
/var/log/masterha/app1/manager.log 2>&1 &
查看狀態,如下是成功
[root@sqlmaster ~]# masterha_check_status --conf=/etc/masterha/app1.cnf
app1 (pid:5326) is running(0:PING_OK), master:192.168.1.11
看一下日誌
[root@sqlmaster ~]# cat /var/log/masterha/app1/manager.log
二.配置中間的Web服務器
下面都是Web1上的配置
1)安裝並啓動apache
[root@web1 ~]# tar -zxvf httpd-2.4.38.tar.gz
[root@apache ~]# yum -y install gcc gcc-c++ apr apr-devel cyrus-sasl-devel expat-devel libdb-devel openldap-devel apr-util-devel apr-util pcre-devel pcre openssl*
[root@web1 ~]# cd httpd-2.4.38/
[root@web1 httpd-2.4.38]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi --enable-ssl --enable-mpms-shared=all
[[email protected]]# make && make install
[root@web1~]# cp /usr/local/httpd/bin/apachectl /etc/init.d/apache
[root@web1 ~]# vim /etc/init.d/apache
在第一行後添加兩行內容,如下#號也要寫上,注意格式要一致,空格都要一致,不然會報錯
#chkconfig: 2345 11 88
# despriction:httpd apache server
[root@web1 ~]# chkconfig --add apache
[root@web1 ~]# vim /usr/local/httpd/conf/httpd.conf
我這裏主機名是web1你們寫你們的主機名即可,然後保存退出即可
[root@web1 ~]# /etc/init.d/apache start
[root@web1 ~]# netstat -anpt | grep 80
tcp6 0 0 :::80 :::* LISTEN 50482/httpd
2)安裝PHP
PHP的作用是用來連接後端的mysql,mysql返回數據後,PHP進行運算返回客戶端動態頁面
libmcrypt-2.5.7:是PHP的依賴包,因爲系統的yum沒有這個安裝包,這裏安裝上就行了
[root@web1 ~]# tar zxvf libmcrypt-2.5.7.tar.gz
[root@web1 ~]# cd libmcrypt-2.5.7/
[root@web1 libmcrypt-2.5.7]# ./configure --prefix=/usr/local/libmcrypt && make && make install
[root@web1 ~]# mount /dev/cdrom /mnt/
[root@web1 ~]# yum -y install php-mcrypt libmcrypt libmcrypt-devel autoconf freetype gd libmcrypt libpng libpng-devel libjpeg libxml2 libxml2-devel zlib curl curl-devel re2c libmcrypt-devel freetype-devel libjpeg-devel bzip2-devel
[root@web1 ~]# tar -zxvf /root/php-5.6.36.tar.gz -C /usr/local/src/
[root@web1 php-5.6.36]# ./configure --prefix=/usr/local/php5.6 --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-openssl --enable-fpm --enable-sockets --enable-sysvshm --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --with-mhash --with-mcrypt=/usr/local/libmcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/usr/local/php5.6/etc/ --with-bz2 --enable-maintainer-zts --with-apxs2=/usr/local/httpd/bin/apxs
這裏解釋幾個重要的參數
--with-mysql=mysqlnd
--with-pdo-mysql=mysqlnd
--with-mysqli=mysqlnd
上面這三個選項的作用是,後端數據庫不和PHP在一臺服務器上,需要添加這項項,就是連接數據庫驅動
--with-apxs2
:必須添加這項,表示把PHP作爲apache的一個模塊使用,apache的所有功能,都是模塊的形式體現
--with-config-file-path=/usr/local/php5.6/etc
:配置文件存放路徑
沒有提到的參數不是很重要,但最好也都加上,以防止後面要使用
[root@web1 php-5.6.36]# make && make install
[root@web1 php-5.6.36]# cp php.ini-production /usr/local/php5.6/etc/php.ini
3)配置PHP,測試後端數據庫VIP
讓Apache支持PHP,
添加兩處,下面第一處
第二處,添加這句
AddType application/x-httpd-php .php .phtml
保存退出
[root@web1 ~]# /etc/init.d/httpd restart
創建測試頁面
[root@web1 ~]# vim /usr/local/httpd/htdocs/index.php
<?php
phpinfo();
?>
[root@web1 htdocs]# /etc/init.d/httpd restart
訪問http://192.168.1.14/
先去sqlmaster(主)上創建一個測試賬號,也是一會discuz論壇賬號
[root@sqlmaster ~]# mysql -uroot -p123456
mysql> grant all on *.* to dtest@'%' identified by '123456';
Query OK, 0 rows affected, 1 warning (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
回到web1中,測試連接,這裏指定後端mysql的VIP就可以
[root@web1 ~]# cd /usr/local/httpd/htdocs/
[root@web1 htdocs]# vim ptest.php
<?php
$link=mysql_connect('192.168.1.99','dtest','123456');
if ($link)echo "connection success......";
mysql_close();
?>
訪問測試,應該是如下頁面,如果是空白頁面,就說明配置有誤
http://192.168.1.14/ptest.php
安裝discuz論壇
discuz是開源的網址論壇軟件,是國內較火的論壇軟件
[root@web1 ~]# unzip Discuz_7.2_FULL_SC_UTF8.zip -d discuz
[root@web1 ~]# cd discuz/
[root@web1 discuz]# cp -r upload /usr/local/httpd/htdocs/discuz
[root@web1 ~]# vim /usr/local/php5.6/etc/php.ini
改爲On
[root@web1 ~]# /etc/init.d/httpd restart
賦予權限,一會瀏覽器用戶,使用daemon用戶去安裝論壇,所以要有權限
[root@web1 ~]# chown -R daemon:daemon /usr/local/httpd/htdocs/
訪問
http://192.168.1.14/discuz/install/index.php
繼續下一步,到我如下,按我下圖填寫
等待安裝,到如下,跳過
下面就是配置Web2服務器
因爲web1上都已經安裝好了,這裏直接把Web1安裝好的PHP和Discuz,傳給Web2
web1中
[root@web1 ~]# scp -r /usr/local/httpd/ [email protected]:/usr/local
[root@web1 ~]# scp -r /usr/local/php5.6 [email protected]:/usr/local
[root@web1 ~]# scp -r /usr/local/libmcrypt [email protected]:/usr/local/
Web2中
Web2中也需要安裝一些依賴包,纔可以運行
[root@web2 ~]# yum -y install gcc gcc-c++ apr apr-devel cyrus-sasl-devel expat-devel libdb-devel openldap-devel apr-util-devel apr-util pcre-devel pcre openssl*
[root@web2 ~]# yum -y install php-mcrypt libmcrypt libmcrypt-devel autoconf freetype gd libmcrypt libpng libpng-devel libjpeg libxml2 libxml2-devel zlib curl curl-devel re2c bzip2-devel libmcrypt-devel freetype-devel libjpeg-devel
[root@web2 ~]# cp /usr/local/bin/apachectl /etc/init.d/
[root@web2 ~]# /etc/init.d/httpd start
[root@web2 htdocs]# chown -R daemon:daemon /usr/local/httpd/htdocs/
訪問並測試數據一致性
http://192.168.1.15/discuz/
可以訪問,註冊一個賬號
如下
到web1的論壇中,登陸zhangsan賬號,可以登陸
http://192.168.1.14/discuz/
這是因爲兩個discuz後端的數據庫都是一個,數據都是在數據庫中的,所以其中數據都是一樣的
三.配置前端的Keepliave熱備
kemaster中
就是keepliave,中的master主機
[root@kemaster ~]# mount /dev/cdrom /mnt/
[root@kemaster ~]# yum -y install ipvsadm keepalived
[root@kemaster ~]# cd /etc/keepalived/
[root@kemaster keepalived]# rm -rf keepalived.conf
[root@kemaster keepalived]# vim keepalived.conf
配置文件中可以有註釋
global_defs { #全局配置
router_id master #LVS服務器節點名(不能相同)
}
vrrp_instance VI_1 {
state MASTER #設置熱備類型(MASTER爲主,BACKUP爲備)
interface ens33 #熱備份接口
virtual_router_id 51 #熱備份組號(必須相同)
priority 100 #優先級,主的優先級要比備的高
advert_int 1 #hello time
authentication { #密碼認證
auth_type PASS #認證的類型爲密碼認證
auth_pass 1111
}
virtual_ipaddress { #虛擬IP
192.168.1.200
}
}
virtual_server 192.168.1.200 80 { #創建虛擬服務器 VIP 和端口
delay_loop 6 #多長時間檢測一次real server 單位爲秒
lb_algo rr #調度算法,rr代表輪詢
lb_kind DR #集羣工作模式
persistence_timeout 0 #健康監測時間,設置0爲不檢測
protocol TCP #使用爲TCP協議
real_server 192.168.1.14 80 { #添加真實服務器和端口
weight 1 #分配權重
TCP_CHECK { #檢測模塊,爲TCP連接
connect_port 80 #檢測端口
connect_timeout 3 #連接超時時間
nb_get_retry 3 #重試次數
delay_before_retry 3 #重試間隔時間
}
}
real_server 192.168.1.15 80 { #添加真實服務器和端口
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
keslave中
[root@keslave ~]# yum -y install keepalived ipvsadm
[root@keslave ~]# cd /etc/keepalived/
[root@keslave keepalived]# rm -rf keepalived.conf
[root@keslave keepalived]# vim keepalived.conf
lobal_defs {
router_id slave
}
vrrp_instance VI_1 {
state BACKUP
interface ens33
virtual_router_id 51
priority 90
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.1.200
}
}
virtual_server 192.168.1.200 80 {
delay_loop 6
lb_algo rr
lb_kind DR
persistence_timeout 0
protocol TCP
real_server 192.168.1.14 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.1.15 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
兩臺都啓動keepalived
[root@kemaster ~]# systemctl restart keepalived
[root@keslave keepalived]# systemctl restart keepalived
去到kemaster查看VIP地址
配置Web節點,內核參數
Web1
[root@web1 ~]# vim /root/vip.sh
#!/bin/sh
VIP=192.168.1.200
case $1 in
start)
ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP
/sbin/route add -host $VIP dev lo:0
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p >/dev/null 2>&1
echo "RealServer Start OK"
exit 0
;;
stop)
ifconfig lo:0 down
route del $VIP >/dev/null 2>&1
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
echo "RealServer Stoped OK"
exit 1
;;
*)
echo "Usage: $0 {start|stop}"
;;
esac
[root@web1 ~]# chmod +x /root/vip.sh
[root@web1 ~]# cd /root/
[root@web1 ~]# ./vip.sh start
Web2
Web2同這個web1操作一樣,複製腳本內容,賦予權限並執行,這裏不演示了
四.訪問測試
通過VIP的地址訪問Discuz論壇,成功
測試和後端mysql通信
右上角登陸,登陸剛剛創建的 zhangsan 用戶,可以登陸上去
通過查看日誌,來查看是否輪詢
web1
[root@web1 ~]# tail -f /usr/local/httpd/logs/access_log
web2
[root@web2 ~]# tail -f /usr/local/httpd/logs/access_log
只要刷新頁面一次,那個符號應該在web1和web2中變動,表示那個終端有變動
當然也可以觀察,配置文件,訪問一次肯定只有一個Web有日誌產生,就是那個GET請求
五.故障切換keepaliaved和MHA
關閉後端mysql的當前master,關閉當前keepalived主
[root@sqlmaster ~]# systemctl stop mysqld
[root@kemaster ~]# systemctl stop keepalived
KeepalivedVIP漂移了
MHA也已經轉換
[root@sqlmaster ~]# tail -n20 /var/log/masterha/app1/manager.log
另外如果MHA老是切換失敗,可以先關閉監控再打開,命令如下
關閉
[root@sqlmaster ~]# masterha_stop --conf=/etc/masterha/app1.cnf
開啓MHA監控
nohup masterha_manager --conf=/etc/masterha/app1.cnf \
--remove_dead_master_conf --ignore_last_failover < /dev/null > \
/var/log/masterha/app1/manager.log 2>&1 &
訪問測試
新打開一個網頁訪問http://192.168.1.200/discuz/,使用用戶zhangsan登陸,可以登陸即可