上次的博文项目进阶 之 集群环境搭建(二)MySQL集群中,咱们搭建了一个基础的MySQL集群,这篇博客我们继续讲解MySQL集群的相关内容,同时针对上一篇遗留的问题提出一个解决方案。
node
上一篇的博客中,咱们搭建的MySQL集群架构中,只存在一个管理节点,这样搭建的集群能够用以下所示的结构表示。 mysql
仔细分析上图就会发现,上图所示的单管理节点MySQL集群存在当惟一的管理节点因为网络、断电、压力过大等各类缘由宕机后,数据节点和SQL节点将会各自为战,成为人心涣散。这样搭建的MySQL集群可用性较低,因此咱们要将单管理节点集群改变成以下图所示的多管理节点集群。 sql
在上图的多管理节点MySQL集群中,因为管理节点存在多个,因此当其中的某一个管理节点出现宕机以后,其余的管理节点自动接过MySQL集群的管理权限,保证MySQL集群的正常运行。
网络
多管理节点MySQL的配置很是简单,仅须要修改以前的博文中提升的三种节点的三个地方。
架构
打开管理节点C:\mysql\bin下的config.ini文件,将其中ndb_mgmd的相关配置修改成以下内容:
测试
[ndb_mgmd] # Management process options: # Hostname or IP address of management node HostName=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 node HostName=192.168.24.43 # Directory for management node log files DataDir=C:/mysql/bin/cluster-logs
即修改以后的config.ini存在多个ndb_mgmd管理节点的相关配置。
优化
打开数据节点C:\mysqlcluster\datanode\mysql下的my.ini文件,将其中mysql_cluster的相关配置修改成以下内容:
spa
[mysql_cluster] # Optionsfor data node process: #location of management server ndb-connectstring=192.168.24.16,192.168.24.43
即修改以后的mysql_cluster节点下的ndb-connectstring对应多个管理节点的IP地址。(若是管理节点修改了服务端口号,则须要添加相应的端口号,例如:192.168.24.16:3306,192.168.24.43:3306)
.net
与修改数据节点相似,修改SQL节点配置须要打开C:\mysqlcluster\sqlnode\mysql下的my.ini文件,将其中mysqld的相关配置修改成以下内容:
code
[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地址。
多管理节点MySQL集群的启动和测试与单管理节点MySQL集群的启动和测试没有区别,能够参考上一篇文章中的相关介绍。须要注意的是在启动MySQL集群的时候,除第一个启动的管理节点之外,其余管理节点会出现以下图所示的警告:
以上警告的意思是节点1和3,2和4的arbitrator在一台主机上,可能引发整个集群失败,这个警告能够不用放在心上继续操做便可。
到目前为止,我们的多管理节点的MySQL集群就搭建完毕了,这样的集群的在正常状况下能够知足通常需求,但并非说它就真的无懈可击,它从架构和实用度来说还能够进行更多的优化和完善,具体都有哪些能够优化和完善的地方呢?敬请期待接下来的文章!