mysql mha keepalive vip02安装配置,MHA的配置 - MySQL + MHA +Keepalive + VIP安装配置_服务器应用_Linux公社-Linux系统门户网站...

news/2024/5/12 18:01:39/文章来源:https://blog.csdn.net/weixin_39930671/article/details/115851066

一、总概

1、MHA介绍

MHA(Master High Availability)是自动的master故障转移和Slave提升的软件包.它是基于标准的MySQL复制(异步/半同步).

MHA有两部分组成:MHA Manager(管理节点)和MHA Node(数据节点).

MHA Manager可以单独部署在一台独立机器上管理多个master-slave集群,也可以部署在一台slave上.MHA Manager探测集群的node节点,当发现master出现故障的时候,它可以自动将具有最新数据的slave提升为新的master,然后将所有其 它的slave导向新的master上.整个故障转移过程对应用程序是透明的。

MHA node运行在每台MySQL服务器上(master/slave/manager),它通过监控具备解析和清理logs功能的脚本来加快故障转移的。

2、MHA工作原理

-从宕机崩溃的master保存二进制日志事件(binlog events)。

-识别含有最新更新的slave。

-应用差异的中继日志(relay log)到其它slave。

-应用从master保存的二进制日志事件(binlog events)。

-提升一个slave为新master。

-使其它的slave连接新的master进行复制。

3、MHA工具包:

(1)、 Manager工具:

- masterha_check_ssh : 检查MHA的SSH配置。

- masterha_check_repl : 检查MySQL复制。

- masterha_manager : 启动MHA。

- masterha_check_status : 检测当前MHA运行状态。

- masterha_master_monitor : 监测master是否宕机。

- masterha_master_switch : 控制故障转移(自动或手动)。

- masterha_conf_host : 添加或删除配置的server信息。

(2)、 Node工具(这些工具通常由MHA Manager的脚本触发,无需人手操作)。

- save_binary_logs : 保存和复制master的二进制日志。

- apply_diff_relay_logs : 识别差异的中继日志事件并应用于其它slave。

- filter_mysqlbinlog : 去除不必要的ROLLBACK事件(MHA已不再使用这个工具)。

- purge_relay_logs : 清除中继日志(不会阻塞SQL线程)。

二、主机部署

manager机:192.168.1.201 manager安装:mha4mysql-manager-0.54-0.el6.noarch.rpmmaster机:192.168.1.231 节点安装: mha4mysql-node-0.54-0.el6.noarch.rpmslave1机:192.168.1.232(备用master) 节点安装:mha4mysql-node-0.54-0.el6.noarch.rpm

三、首先用ssh-keygen实现三台主机之间相互免密钥登录

注意:如果不能实现任何两台主机间两两可以无密登录,后面的步骤会有问题。

四、安装MHAmha4mysql-node,mha4mysql-manager 软件包

1、manager mha4mysql-manager软件安装

[manager--201]

shell>yum install perl

shell>yum install cpan

shell> rpm -ivh mha4mysql-manager-0.53-0.el6.noarch.rpm

error:

perl(Config::Tiny) is needed by mha4mysql-manager-0.53-0.noarch

perl(Log::Dispatch) is needed by mha4mysql-manager-0.53-0.noarch

perl(Log::Dispatch::File) is needed by mha4mysql-manager-0.53-0.noarch

perl(Log::Dispatch::Screen) is needed by mha4mysql-manager-0.53-0.noarch

perl(Parallel::ForkManager) is needed by mha4mysql-manager-0.53-0.noarch

perl(Time::HiRes) is needed by mha4mysql-manager-0.53-0.noarch

说明有很多依赖包没有安装,解决方法:

shell> wget ftp://ftp.muug.mb.ca/mirror/CentOS/5.10/os/x86_64/CentOS/perl-5.8.8-41.el5.x86_64.rpm

shell> wget ftp://ftp.muug.mb.ca/mirror/centos/6.5/os/x86_64/Packages/compat-db43-4.3.29-15.el6.x86_64.rpm

shell> wget http://downloads.naulinux.ru/pub/NauLinux/6x/i386/sites/School/RPMS/perl-Log-Dispatch-2.27-1.el6.noarch.rpm

shell> wget http://dl.Fedoraproject.org/pub/epel/6/i386/perl-Parallel-ForkManager-0.7.9-1.el6.noarch.rpm

shell> wget http://dl.fedoraproject.org/pub/epel/6/i386/perl-Mail-Sender-0.8.16-3.el6.noarch.rpm

shell> wget http://dl.fedoraproject.org/pub/epel/6/i386/perl-Mail-Sendmail-0.79-12.el6.noarch.rpm

shell> wget http://mirror.centos.org/centos/6/os/x86_64/Packages/perl-Time-HiRes-1.9721-136.el6.x86_64.rpm

shell> rpm -ivh perl-Parallel-ForkManager-0.7.9-1.el6.noarch.rpm perl-Log-Dispatch-2.27-1.el6.noarch.rpm perl-Mail-Sender-0.8.16-3.el6.noarch.rpm perl-Mail-Sendmail-0.79-12.el6.noarch.rpm perl-Time-HiRes-1.9721-136.el6.x86_64.rpm

再安装

shell> rpm -ivh mha4mysql-manager-0.53-0.el6.noarch.rpm

2、node MHAmha4mysql-node软件安装

shell>wget http://mirror.centos.org/centos/6/os/x86_64/Packages/perl-DBD-MySQL-4.013-3.el6.x86_64.rpm

shell>rpm -ivh perl-DBD-MySQL-4.013-3.el6.x86_64.rpm

shell>wget http://mysql-master-ha.googlecode.com/files/mha4mysql-node-0.54-0.el6.noarch.rpm

shell>rpm -ivh mha4mysql-node-0.54-0.el6.noarch.rpm

安装过程可能会报错(具体错误我没有记下)都是依赖包的问题,这么解决吧

shell>yum install perl-MIME-Lite

yum install perl-Params-Validate

五、MHA的配置

1、管理机manager上配置MHA文件

shell> mkdir -p /masterha/app1 //创建目录

shell> mkdir /etc/masterha //创建目录

shell> vi /etc/masterha/app1.cnf //创建配置文件

[server default]

user=root //linux用于管理mysql用戶名

password=sunney //linux用于管理mysql密码

manager_workdir=/masterha/app1

manager_log=/masterha/app1/manager.log

remote_workdir=/masterha/app1

ssh_user=root //ssh免密钥登录的帐号名

repl_user=sunney //mysql复制帐号,用来在主从机之间同步二进制日志等

repl_password=sunney //mysql密码

ping_interval=1 //ping间隔,用来检测master是否正常

[server1]

hostname=192.168.1.231#ssh_port=9999master_binlog_dir=/var/lib/mysql //mysql数据库目录不同的安装方式目录不一样

candidate_master=1 //master机宕掉后,优先启用这台作为新master

[server2]

hostname=192.168.1.232#ssh_port=9999master_binlog_dir=/var/lib/mysql

candidate_master=1

2、masterha_check_ssh工具验证ssh信任登录是否成功

[manager:201]

shell> masterha_check_ssh --conf=/etc/masterha/app1.cnf

注意:用ssh-keygen实现三台主机之间相互免密钥登录决定这一步是否成功。

Wed Apr 23 22:10:01 2014 -[debug] ok.

Wed Apr23 22:10:01 2014 - [info] All SSH connection tests passed successfully.

成功!

3、masterha_check_repl工具验证mysql复制是否成功

[manager:201]

shell> masterha_check_repl --conf=/etc/masterha/app1.cnf

注意:上一篇文章中的master--slaver是否成功决定这一步是否成功。或是MHA文件配置的用户账号有关。

Wed Apr 23 22:10:56 2014 - [info] Checking replication health on 192.168.1.232..

Wed Apr23 22:10:56 2014 -[info] ok.

Wed Apr23 22:10:56 2014 -[warning] master_ip_failover_script is not defined.

Wed Apr23 22:10:56 2014 -[warning] shutdown_script is not defined.

Wed Apr23 22:10:56 2014 - [info] Got exit code 0(Not master dead).

MySQL Replication Health is OK.

成功。

4、启动MHA manager,并监控日志文件

[manager:201]

shell> nohup masterha_manager --conf=/etc/masterha/app1.cnf > /tmp/mha_manager.log 2>&1shell> tail -f /masterha/app1/manager.log //这名最好在新窗口执行

结果:

Thu Apr 24 04:41:03 2014 -[info] Slaves settings check done.

Thu Apr24 04:41:03 2014 -[info]192.168.1.231(current master)+--192.168.1.232Thu Apr24 04:41:03 2014 -[warning] master_ip_failover_script is not defined.

Thu Apr24 04:41:03 2014 -[warning] shutdown_script is not defined.

Thu Apr24 04:41:03 2014 - [info] Set master ping interval 1seconds.

Thu Apr24 04:41:03 2014 -[warning] secondary_check_script is not defined. It is highly recommended setting it to check master reachability from two or more routes.

Thu Apr24 04:41:03 2014 - [info] Starting ping health check on 192.168.1.231(192.168.1.231:3306)..

Thu Apr24 04:41:03 2014 - [info] Ping(SELECT) succeeded, waiting until MySQL doesn't respond..

5、测试master(231)宕机后,是否会自动切换

[master--231]

shell>service mysql stop

[manager--201]

shell>tail -f tail -f /masterha/app1/manager.log-----日志显示如下------

-------- Failover Report -----app1: MySQL Master failover192.168.1.231 to 192.168.1.232succeeded

Master192.168.1.231 is down!Check MHA Manager logs at localhost.localdomain:/masterha/app1/manager.log fordetails.

Started automated(non-interactive) failover.

The latest slave192.168.1.232(192.168.1.232:3306) has all relay logs forrecovery.

Selected192.168.1.232 as a newmaster.192.168.1.232: OK: Applying all logs succeeded.

Generating relay diff files from the latest slave succeeded.192.168.1.232: Resetting slave info succeeded.

Master failover to192.168.1.232(192.168.1.232:3306) completed successfully.

6、故障转移后,用命令恢复原来的master

(1)、在旧master上执行

1.在旧master上执行

shell>service mysql start //数据库启动

shell>mysql -usunney -psunney

mysql>reset master;

mysql> change master to master_host='192.168.1.232', master_port=3306, master_user='sunney', master_password='sunney', master_log_file='mysql-bin.000031', master_log_pos=112;

mysql> start slave; #暂时先把旧master变为slave

(2)然后在manager节点上:

shell> masterha_master_switch --master_state=alive --conf=/etc/masterha/app1.cnf

过程中一直输入YES;

这样的话mysql主从机进行了切换。可以测试一下数据在新的master(232)的表中新增数据后,在新slave(231)对应的表中是否已实现数据同步。

六、MHA已完成配置并进行了测试。但如果是程序连接数据库并不会自动切换IP,那我们如何实现呢,请期待一篇keepalive + VIP安装配置。0b1331709591d260c1c78e86d0c51c18.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_832125.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华为外包评级5a多少钱_西安seo外包收费标准优化一个网站需要多少钱?

西安SEO外包优化一个网站需要多少钱?最近西安天勤网络营销工作室的企业微信和QQ不定时都会接到客户咨询西安SEO外包价格问题,西安SEO优化一个网站报价多少钱[1],网站优化[2]一个营销型网站SEO外包需要多少钱?网站做一个词多少钱?或者是网站…

网站留言板防重复留言_企业网站建设

企业制作官网的目的1.有利于提升企业品牌形象 一般来说,企业建立自己的网站,不但可以给企业带来新客户、新生意,同时也可以通过网站来提升自己的品牌形象。2.可以全面详细地介绍公司及展示公司产品 公司网站的一个最基本的功能,就…

您访问的网页出错了! 网络连接异常、网站服务器失去响应_出现网页错误时,数字502、404等分别是什么意思?...

TFBOYS六周年了!为了庆祝,他们将于8月10日在深圳体育馆举行“六周年演唱会”。这次演唱会官方售票网站在7月11日上午正式开通,但令粉丝们绝望的是,不仅抢票流程非常复杂,而且抢票网站还频繁出现“502错误”。502这三个…

未定义数组索引是什么意思_SEO是什么意思?什么是SEO /搜索引擎优化?

SEO是什么意思?什么是SEO /搜索引擎优化?SEO代表搜索引擎优化,这是通过自然搜索引擎结果增加网站流量的数量和质量的做法。什么是SEO什么是SEO?SEO代表“搜索引擎优化”。它是从搜索引擎上的“免费”,“有机”,“社论…

如何卸载服务器的php,centos如何完全卸载php_网站服务器运行维护,centos,php

centos7如何设置屏幕不休眠_网站服务器运行维护centos7设置屏幕不休眠的方法:1、依次点击【applications】、【syetem tools】、【settings】选项;2、进入【privacy】选项,找到【screen lock】选项,并开启此选项即可。查看全部的p…

美甲网站

基于Javaweb的美甲网站,美甲商城。数据库使用了MySQL。 以下是系统截图:

pinterest视觉社交网站商业模式和崛起原因

Pinterest是一个号称"个人版猎酷工具"的美国视觉社交网站,网站创办于2011年,目前 网站用户增长速度赶上了五年前的Facebook,是继facebook、twitter、tumblr之后,又一个受世界瞩目的网站。 Pinterest名称由Pin&#xff0…

在线c语言编程网站_怎么制作app软件?免编程app在线制作网站

怎么制作app软件呢?app制作需要哪些流程?app在线制作平台靠谱吗?现在市场上的app开发可以分为两种截然不同的方式:第一种就是找专业的开发人员进行编程开发,第二种就是利用免编程app在线制作网站,自己制作a…

java中使用itext在pdf模板中添加文字时如何控制添加文字的字体大小_如何设计和编码制作个人网站?...

许多开发人员认为擅长设计是一种天生的能力,而创造力是与生俱来的。但是设计是一项可以像其他任何东西一样学习的技能。你不必天生就可以创建一个漂亮的网站的艺术家,这需要实践。在身边的小伙伴的博客,自己的网站来看,很多人都是…

家乡介绍网站模板html_响应式网络科技公司织梦模板 HTML5软件网站开发工作室网站源码...

给老铁们分享一个逼格很高的整站网站源码,带手机版,可用于网络推广公司,XX科技公司、某企业官网、改一改名字基本通用。模板名称: (自适应手机版)响应式网络建站公司织梦模板 HTML5软件网站开发工作室网站整站源码这款模板使用范围…

如何查询网站服务器供应商,查询网站服务器提供商

查询网站服务器提供商 内容精选换一换网站的访问与云服务器的网络配置、端口通信、防火墙配置、安全组配置等多个环节相关联。任意一个环节出现问题,都会导致网站无法访问。本节操作介绍网站无法访问时的排查思路。网站无法访问怎么办?如果打开网站有报错…

php的网站图片,PHP抓取网站图片脚本

classdownload_image{//抓取图片的保存地址public$save_path;//抓取图片的大小限制(单位:字节) 只抓比size比这个限制大的图片public$img_size0;//定义一个静态数组,用于记录曾经抓取过的的超链接地址,避免重复抓取publicstatic$a_url_arrarray();/***param String $save_path …

编写程序java发布war网站_java-web——第二课 java web项目的编写和部署

前言:配置好自己的Tomcat之后,是不是迫不及待的想要写自己和部署自己第一个的web项目吧~那下面就让我们来进入这个有趣的小步骤一,编写自己的java web项目1.首先肯定是打开自己的 eclipse 啦~2.然后就是 new 一个 java web 项目 ,…

nextcraft服务器网站,NextCraft-一种更强大的Minecraft服务器出租解决方案!

大家好,今天给大家推荐一个“全新的收费系统”的出租服务器商家————————————————NextCraft————————————————NextCraft彻底抛弃了传统的按月租收费的模式。它使用了一种全新的技术,每分钟都会动态统计您的服务器使用量&a…

javaweb展现帖子内容_教你写出让谷歌SEO效果倍增的网站内容!

经常有客户问,为什么一直在强调网站内容对于谷歌SEO来说很重要,那么今天就来和大家一起探讨这个话题,并分享一些网站内容(博客、新闻、产品介绍等)创作的好方法。为什么优质内容对谷歌SEO来说很重要?任何搜索引擎的目的都是想要把最优质的内…

网站设计支离破碎:究竟是谁之过

——摘自《赢在设计》 我们认为公司对网站设计的态度是导致很多公司网站身处困境的主要原因。如果网站设计被视为一种扩大盈利能力和实现组织目标的方式,那么我们不会看到下面的统计数字: 在线购物车的平均放弃率为59.8%。 这意味着每10 个人中只有4 个…

搜java题的公众号_微信公众号seo搜一搜(优化技巧分享)

微信公众号seo搜一搜1.相关性。相关性是搜索引擎最基本最核心的算法!其实不止是微信搜一搜的算法任何搜索的算法都是把相关性排在第一位的。什么是相关性呢?简单讲就是关键词相关性,用户搜索某一个词搜索引擎就会把最相关的东西推送给用户。不…

30个漂亮的免费 Flash 网站模板下载

您可能还喜欢 30佳精美的免费Flash网站模板下载35个非常出彩的 Flash 网站作品欣赏40个高质量免费Flash网站模板下载25个很酷的Flash网页设计作品欣赏30个漂亮的免费 Flash 网站模板下载当你需要在短时间内制作出一个网站的时候,模板就非常有用了。这篇文章收集了30…

搜索引擎优化的用乐云seo_上海SEO搜索引擎优化公司

SEMSEO搜索引擎优化推广SEO搜索引擎优化是一种利用搜索引擎的规则提高网站在有关搜索引擎内的自然排名。了解各种搜索引擎怎样进行搜索、怎样抓取互联网页面、怎样确定特定关键词的搜索结果排名的技术。搜索引擎采用易于被搜索引用的手段,对网站进行有针对性的优化&…

设置此计算机的用户已选择屏蔽此网站,已阻止此网站显示有安全证书错误的内容,详细教您已阻止此网站显示有安全证书错误的内容怎么解决...

近期有电脑用户反应打开网页的时候会弹出“已阻止此网站显示有安全证书错误的内容”,无法正常访问网页,怎么办?弹出这样的提示后点击后进行安装会出现无法安装的现象,非常的尴尬,那已阻止此网站显示有安全证书错误的内…