In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-01-16 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Database >
Share
Shulou(Shulou.com)06/01 Report--
In the blog article on the deployment of MHA with high availability for MySQL, the infrastructure of MHA has been deployed, but it does not solve the problem of a virtual IP, because when the master goes down and the new master comes up, the database IP to which the front-end APP connects has changed. In order to solve this problem, it is necessary to introduce virtual IP. When talking about virtual IP, the tool should first think of keepalived, but this tool has a drawback. There is a brain fissure problem, so it is more recommended to use scripts to control this VIP in production.
1. Write this script [root@manager scripts] # cat / scripts/master_ip_failover #! / usr/bin/env perluse 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.20.100'on the manager node; # specify the VIP address my $key ='0' here My $ssh_start_vip = "/ sbin/ifconfig ens33:$key $vip"; # this instruction is to start VIPmy $ssh_stop_vip = "/ sbin/ifconfig ens33:$key down" # this instruction is to stop VIPGetOptions ('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"; 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 {print "Enabling the VIP-$vip on the new master-$new_master_host\ n"; & start_vip (); $exit_code = 0;}; if ($@) {warn $@; exit $exit_code;} exit $exit_code;} elsif ($command eq "status") {print "Checking the Status of the script.. OK\ n "; # `ssh $ssh_user\ @ cluster1\" $ssh_start_vip\ "`; exit 0;} else {& usage (); exit 1;}} # A simple system call that enable the VIP on the new mastersub start_vip () {`ssh $ssh_user\ @ $new_master_host\" $ssh_start_vip\ "`;} # A simple system call that disable the VIP on the old_mastersub stop_vip () {return 0 unless ($ssh_user) `ssh $ssh_user\ @ $orig_master_host\ "$ssh_stop_vip\" `;} sub usage {print "Usage: master_ip_failover-- command=start | stop | stopssh | status-- orig_master_host=host-- orig_master_ip=ip-- orig_master_port=port-- new_master_host=host-- new_master_ip=ip-- new_master_port=port\ n" } [root@manager ~] # ll / scripts/master_ip_failover # needs to ensure that the script has executable permissions-rwxr-xr-x 1 root root February 24 16:32 / scripts/master_ip_failover2, Modify the manager configuration file [root@manager ~] # cat / etc/masterha/app1.cnf # configuration file specify the location of the script [server default] manager_workdir=/var/log/masterha/app1manager_log=/var/log/masterha/app1/manager.loguser=managerpassword=123.comssh_user=rootrepl_user=mhareprepl_password=123.comping_interval=1master_ip_failover_script=/scripts/master_ip_failover # add line change Specify the location of the script. [server1] hostname=192.168.20.2port=3306master_binlog_dir=/usr/local/mysql/datacandidate_master= 1[server2] hostname=192.168.20.3port=3306master_binlog_dir=/usr/local/mysql/datacandidate_master= 1[server3] hostname=192.168.20.4port=3306master_binlog_dir=/usr/local/mysql/datano_master=1
By doing this, you can ensure that when you switch master, the VIP address will be switched to the new master host.
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.