电话:18529139987
关闭
您当前的位置:首页 > 职场资讯 > 江西劳务派遣系统

MySQL原生HA方案 – Fabric体验之旅

来源:劳务派遣系统 时间:2021-10-15 作者:劳务派遣系统 浏览量:

还在为MySQL HA方案的选型头疼吗?现在不用了,自从2021年5月28日Oracle发布Fabric之后,一切都变得如此简单。因为是原生的官方产品,可以放心使用,由于这款产品大力的增强了HA效率,可以看出Oracle对云计算的支持力度,说明Oracle这个大象也可跳舞,而且还挺灵活的。

官方对Fabric的介绍主要是它提供了MySQL的HA和Sharding方案,本文主要讨论Fabric在MySQL HA方面的表现以及搭建部署流程。我的团队试着搭建了一下,简直无法再简单了,这对于DBA来说绝对是一个大福音,这个产品在接下来的几年中必然会被大量应用到生产环境中去,我的团队对这个产品的未来充满信心。

  接下来我们将循序渐进的带领大家感受Fabric带来的乐趣。

  一、实验环境

  本例的实验环境是在一台CentOS主机中做的,机器上有3个MySQL实例,分别是3306、3691和3692,我们要做的就是用这3个实例达成HA效果


  二、下载

  Fabric目前是被打包到了MySQL Utilities中,所以大家下载MySQL Utilities就可以了,下载地址是:   http://dev.mysql.com/downl劳务派遣系统软件ds/utilities/,目前版本是:1.4.4,在本例中我们下载的是 mysql-utilities-1.4.4-1.el6.n劳务派遣系统软件rch.rpm。

?

  三、安装MySQL Utilities

  rpm包的安装还是挺简单的,具体如下:


  装完后执行


  如果有回显说明安装完毕。

  四、建立Backing Store帐号

  Backing Store用于存储整个HA集群的服务器等相关配置,它需要一个MySQL实例来存储这些信息,这个实例的版本需要跟其它在HA中的MySQL实例版本保持一致,而且必须是5.6.10及更高的版本,我们在本例中选择3306实例来使用。

首先,你需要一个帐号来连接Backing Store的MySQL实例,这个帐号需要有对fabric数据库的管理员级权限,我们在3306端口的实例上建帐号,具体如下:


  五、Fabric配置文件

  Fabric配置文件默认位置是:/etc/mysql/fabric.cfg修改其中的[storage]部分,具体如下:


  其中address = 10.165.17.175:3306是Backing Store的MySQL实例,password = secret是上一步中建立连接fabric数据库的用户密码。

修改其中的[servers]部分,具体如下:


  其中是password = secret 是HA环境中各实例的连接密码。

  六、填充Backing Store信息

  我们通过Fabric来填充3306端口实例中的fabric数据库,具体如下:


?

??????操作期间会提示Fabric的管理员帐户admin没有设置密码,咱们按提示将密码设置成admin就可以了。

  我们再查看3306端口的实例里面发生了什么变化,具体如下:


?

  可以看到多了一个fabric数据库,它里面存储的就是Fabric的一些配置信息。

  七、配置HA中主从MySQL节点帐号

  本例中3691和3692实例是需要做成HA的,它们也要建个管理员权限的帐号,注意,帐号名也要跟3306实例保持一致,也需要是fabric,具体如下:


????? 同时,由于fabric是基于GTID主从复制,所以这些实例中必须要启用GTID,它们的配置文件要有这些参数:


?  八、启动fabric

  我们用下面的命令来启动fabric;


  九、建立HA服务器组

  这个HA服务器组,用于把参与HA的所有MySQL实例都填加进来:


  这样我们就创建了一个组名为my_group的HA服务器组。

  十、填加HA组的成员

  我们首先填加3691,具体如下:


  接下来填3692,具体如下:


  如果屏幕回显示无error,那么说明成功填加了成员。我们也可以查看一下my_group里面的成员信息,具体如下:


  大家可以看到,这2个实例都不是PRIMARY,说明刚刚搭建完的环境,系统是不会选举出PRIMARY的。

  十一、选举一个主库

  选举的方法也非常简单,具体如下:


  可见执行成功了,并没有返回error。

  接下来我们再次验证一下HA集群中各服务器情况。


  可见Fabric已经随机选举了一个Master角色。

  十二、激活故障自动切换

  即使Fabric选出了Master角色,但当这个Master宕机时,Fabric并不会自动将Secondary角色切换成Master角色,所以我们需要将HA配置成可以自动切换角色的样子,具体如下:


  当然,我们也可以依据具体需求取消Fabric故障自动切换。

  十三、测试HA

  在这个实验中,我们将3691实例停止,再看看Fabric的状态:


  其中3692实例的状态已经变成了“FAULTY”,可以看出Fabric自动检测到了这个故障,并且选举了slave重新当了primary角色。我不得不说就是这个功能,是它吸引我的原因之一。

?  十四、后续学习

  关于后续的学习,大家要看看官网的用户手册,里面还有很多HA维护的方法,如增减节点等问题,同时目前Fabric也提供了phtyon和Java的API,可以供软件开发人员直接使用,以后的软件开发人员,不是再直接连接到MySQL实例,而是连接到Fabric,由Fabric来统一分发请求,这有些象MySQL Proxy,但它的应用前景要比MySQL Proxy更宽更广。

微信扫一扫分享资讯
分享到:
热门话题
推荐文章
微信公众号
手机浏览

东莞市顺捷建筑工程有限公司 粤ICP备18079127号

地址: EMAIL:admin@admin.com

Powered by PHPYun.

用微信扫一扫