首页 >数据库 >mysql教程 >项目进阶 之 集群环境搭建(三)多管理节点MySQL集群

项目进阶 之 集群环境搭建(三)多管理节点MySQL集群

WBOY
WBOY原创
2016-06-01 13:17:031087浏览

Mysql集群

        上次的博文项目进阶 之 集群环境搭建(二)MySQL集群中,我们搭建了一个基础的MySQL集群,这篇博客咱们继续讲解MySQL集群的相关内容,同时针对上一篇遗留的问题提出一个解决方案。

1、单管理节点MySQL集群和多管理节点MySQL集群

        上一篇的博客中,我们搭建的MySQL集群架构中,只存在一个管理节点,这样搭建的集群可以用如下所示的结构表示。


        仔细分析上图就会发现,上图所示的单管理节点MySQL集群存在当唯一的管理节点由于网络、断电、压力过大等各种原因宕机后,数据节点和SQL节点将会各自为战,成为一盘散沙。这样搭建的MySQL集群可用性较低,所以我们要将单管理节点集群改变成如下图所示的多管理节点集群。



        在上图的多管理节点MySQL集群中,由于管理节点存在多个,所以当其中的某一个管理节点出现宕机之后,其他的管理节点自动接过MySQL集群的管理权限,保证MySQL集群的正常运行。

2、多管理节点MySQL集群配置

        多管理节点MySQL的配置非常简单,仅需要修改之前的博文中提高的三种节点的三个地方。

        1)修改管理节点配置

        打开管理节点C:/mysql/bin下的config.ini文件,将其中ndb_mgmd的相关配置修改为如下内容:

[ndb_mgmd] # Management process options:# Hostname or IP address of management nodeHostName=192.168.24.16# Directory for management node log files DataDir=C:/mysql/bin/cluster-logs[ndb_mgmd] # Management process options:# Hostname or IP address of management nodeHostName=192.168.24.43 # Directory for management node log files DataDir=C:/mysql/bin/cluster-logs

        即修改之后的config.ini存在多个ndb_mgmd管理节点的相关配置。

        2)修改数据节点配置

        打开数据节点C:/mysqlcluster/datanode/mysql下的my.ini文件,将其中mysql_cluster的相关配置修改为如下内容:

[mysql_cluster]# Optionsfor data node process:#location of management serverndb-connectstring=192.168.24.16,192.168.24.43

        即修改之后的mysql_cluster节点下的ndb-connectstring对应多个管理节点的IP地址。(如果管理节点修改了服务端口号,则需要添加相应的端口号,例如:192.168.24.16:3306,192.168.24.43:3306)

        3)修改SQL节点配置

        与修改数据节点类似,修改SQL节点配置需要打开C:/mysqlcluster/sqlnode/mysql下的my.ini文件,将其中mysqld的相关配置修改为如下内容:

[mysqld] # Options for mysqld process: # run NDB storage engine ndbcluster # location of management server ndb-connectstring=192.168.24.16,192.168.24.43

        即修改之后的mysqld节点下的ndb-connectstring对应多个管理节点的IP地址。

3、多管理节点MySQL集群配置启动和测试

        多管理节点MySQL集群的启动和测试与单管理节点MySQL集群的启动和测试没有区别,可以参考上一篇文章中的相关介绍。需要注意的是在启动MySQL集群的时候,除第一个启动的管理节点以外,其他管理节点会出现如下图所示的警告:


        以上警告的意思是节点1和3,2和4的arbitrator在一台主机上,可能引起整个集群失败,这个警告可以不用放在心上继续操作即可。
        到目前为止,咱们的多管理节点的MySQL集群就搭建完毕了,这样的集群的在正常情况下可以满足一般需求,但并不是说它就真的无懈可击,它从架构和实用度来讲还可以进行更多的优化和完善,具体都有哪些可以优化和完善的地方呢?敬请期待接下来的文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn