MySQL集群Cluste详解(二)——配置实战

今天继续给大家介绍MySQL相关知识,本文主要内容是MySQL集群Cluster实战。
阅读本文,您需要有一定的MySQL Cluster集群相关知识,如果您对此还存在困惑,欢迎查阅我博客内的其他文章,相信您一定会有所收获,推荐阅读:
MySQL集群Cluster详解(一)——基本原理

一、实战环境

本次实验,我们使用5台Vmware虚拟机来进行,系统架构如下图所示:
在这里插入图片描述

二、软件安装

为了实现上述架构,我们必须在系统上安装MySQL CLuster相关软件,软件分为通用软件和管理、数据节点的专用软件。

(一)通用软件安装

通用软件是指在所有的设备上都需要安装的软件,如果是采用YUM的方式来进行安装,则安装命令如下:
首先是安装依赖包:

yum install perl perl-Class-Method-Maker perl-DBI libaio numactl

这些依赖包,简介如下:
perl是一个功能丰富的计算机程序语言,易于使用、高效、完整,多用于系统管理、web开发,网络编程等。
perl-Class-Method-Maker为perl的Method Maker包,提供了perl的Method Maker类,解决了为了执行标准任务的对象而必须持续写入防蚊器的方法。
perl-DBI是perl访问数据库所使用的一个依赖包。
libaio主要实现Linux系统的同步异步机制以及时间阻塞等。
numactl是一个Linux系统的优化包,可以优化内存的使用。
其次,我们还要安装mysql-cluster-community-server,安装命令如下:

yum install -y mysql-cluster-community-server

(二)管理和数据节点软件安装

在5台设备上安装上述软件后,我们还需要在管理和数据节点上安装一些专用软件。在管理节点上,我们需要安装mysql-cluster-community-management-server,YUM安装命令如下:

yum install -y mysql-cluster-community-management-server

而在数据节点上,我们需要安装mysql-cluster-community-data-node,YUM安装命令如下:

yum install -y mysql-cluster-community-data-node

三、 管理节点配置

在安装完所有软件后,我们就可以进行架构配置了,首先,我们需要进行管理节点配置。在管理节点上,我们新创建一个配置文件,文件位置和名称随意,但是该文件必须在启动时进行指定。文件内容如下:

[ndbd default]
NoOfReplicas=2
DataMemory=200M
IndexMemory=100M

[ndb_mgmd]
NodeId=1
datadir=/var/lib/mysql
HostName=192.168.136.11

[ndbd]
HostName=192.168.136.12
DataDir=/var/lib/mysql
NodeId=2

[ndbd]
HostName=192.168.136.13
DataDir=/var/lib/mysql
NodeId=3

[mysqld]
HostName=192.168.136.14
NodeId=4

[mysqld]
HostName=192.168.136.15
NodeId=5

在上述配置文件中,一共有6个模块,[ndbd default]模块配置了整个架构的信息,[ndb_mgmd]模块配置了管理节点的信息,[ndbd]模块配置了数据节点的相关信息,[mysqld]模块配置了SQL节点相关信息。在[ndbd default]模块中,NoOfReplicas=2表示有两个数据节点,DataMemory表示数据存储可用的内存大小,IndexMemory表示索引存储可用的内存大小。在其他模块中,NodeId为每个设备的编号,可以任意但必须唯一,HostName为设备的IP地址,DataDir只有数据节点才有,表示数据的存储路径。配置完成后的文件如下所示:
在这里插入图片描述

四、数据节点配置

在数据节点上,我们需要修改/etc/my.cnf配置文件,打开该文件后,在[mysqld]模块下,添加如下命令:

ndb_cluster
ndb_connectstring=192.168.136.11

然后新建[mysql_cluster]模块,在该模块下,添加如下命令:

ndb_connectstring=192.168.136.11

上述命令分别表示开启ndb引擎和指定管理节点的IP。
修改完成后的配置文件如下所示:
在这里插入图片描述

五、SQL节点配置

SQL节点的配置,与数据节点的配置非常相似,也是需要在/etc/mu.cnf中添加与数据节点完全相同的内容。但是,由于SQL节点不存储数据,因此我们还需要删除[mysqld]模块下的datadir那一行。这样,SQL节点修改完成后内容如下:
在这里插入图片描述

六、系统启动与关闭

无论是系统启动还是关闭,都必须遵循先管理、再数据,最后SQL的原则。为了保证架构开启正常,我们需要关闭各个设备上的防火墙,相关命令如下:

systemctl stop firewalld
iptables -F
setenforce 0

当系统开启时,管理节点的开启命令是:

ndb_mgmd --ndb_nodeid=1 --initial -f /usr/mysql-cluster/config.ini

其中/usr/mysql-cluster/config.ini文件是之前配置的管理节点的配置文件。启动后,系统应该监听1186端口,如下所示:
在这里插入图片描述
数据节点开启命令为:

ndbd --initial

执行结果为:
在这里插入图片描述
SQL节点的开启命令与启动数据库的命令相同,为:

systemctl start mysqld

当系统关闭时,我们需要在管理节点上,执行命令:
ndb_mgm,进入到MySQL Cluster管理页面,然后执行命令shutdown即可,这样,管理节点就会关闭,同时,数据节点也会收到管理节点的关闭的消息,从而也自行关闭。剩下的SQL节点需要我们手动关闭,关闭命令为:

systemctl stop firewalld

七、结果验证

最后,让我们来验证一下前期架构配置是否成功。
首先,让我们在管理节点上查看一下系统的状态,在管理节点上,执行命令ndb_mgm,进入MySQL Cluster查看页面,然后执行命令show,查看当前系统的状态,结果如下所示:
在这里插入图片描述
之后,我们尝试在一个SQL节点上创建数据库,并写入内容,再另一个SQL节点上查看内容,注意,在创建数据表时,必须指定数据表的引擎为NDB,相关内容如下所示:
在SQL节点1上:
在这里插入图片描述
在SQL节点2上:
在这里插入图片描述
从上图中可以看出,从SQL节点1上的相关配置在SQL节点2上也能够查询到,因此,我们的架构配置成功!
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永远是少年啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值