Appearance
第19章 MySQL Cluster
学习目标 | Objective
MySQL Cluster 技术在分布式系统中为MySQL提供了冗余特性,增强了安全性,可以大大提高系统的可靠性和数据的有效性。MySQL Cluster需要一组计算机,每台计算机可以理解为一个节点,这些节点的功能各不相同,MySQL Cluster按照功能来分,可以分为三种节点:管理节点、数据节点和SQL节点。集群中的某台计算机可以是某一个节点,也可以是两种或者三种节点的集合,这些节点组合在一起,为应用提供具有高可靠性、高性能的 Cluster 数据管理。
内容导航 | Navigation
- 了解什么是MySQL Cluster
- 掌握 Linux下MySQL Cluster 的安装和配置
- 掌握 MySQL Cluster 的管理方法
- 掌握MySQL Cluster的维护方法
- Windows 下的集群配置方法
19.1 MySQL Cluster概述
目前企业数据量越来越大,所以对MySQL的要求进一步提高。以前的大部分高可用方案通常存在一定的缺陷,例如 MySQLReplication方案,Master 是否存活检测需要一定的时间,如果主从切换也需要一定的时间,因此高可用很大程度上依赖于监控软件和自动化管理工具。
随着 MySQL Cluster 的不断发展,终于在性能和高可用上得到了很大的提高。
19.1.1 MySQL Cluster基本概念
MySQL Cluster 简单地讲是一种 MySQL集群的技术,是由一组计算机构成的,每台计算机可以存放一个或者多个节点,其中包括MySQL服务器、DNB Cluster 的数据节点、其他管理节点,以及专门的数据访问程序,这些节点组合在一起,就可以为应用提供高性能、高可用性和可缩放性的 Cluster 数据管理。
MySQL Cluster 的访问过程大致是这样的,应用通常使用一定的负载均衡算法将对数据的访问分散到不同的SQL节点,SQL节点对数据节点进行数据访问并从数据节点返回数据结果,管理节点仅仅只是对 SQL节点和数据节点进行配置管理,MySQL Cluster 的系统架构如图 19.1所示。
19.1.2 理解MySQL Cluster节点
MySQL Cluster 按照节点类型可以分为3种类型的节点,分别是管理节点、SQL节点、数据节点,所有的这些节点构成了一个完整的MySQL集群体系。事实上,数据保存在 NDB 存储服务器的存储引擎中,表结构则保存在MySQL服务器中,应用程序通过MySQL服务器访问数据,而集群管理服务器则通过管理工具ndbmgmd来管理NDB存储服务器。
下面先了解一下 MySQL Cluster中3种不同类型的节点。
1.管理节点
管理节点主要用来对其他节点进行管理。通常通过配置confg.ini 文件来配置集群中有多少需要维护的副本,配置每个数据节点上为数据和索引分配多少内存、IP地址,以及在每个数据节点上保存数据的磁盘路径。
管理节点通常管理 Cluster 配置文件和 Cluster 日志。Cluster 中的每个节点从管理服务器检索配置信息,并请求确定管理服务器所在位置的方式。如果节点内出现新的事件时,节点将这类事件的信息传输到管理服务器,将这类信息写入到Cluster日志中。
一般在 MySQL Cluster 体系中至少需要一个管理节点,另外值得注意的是,因为数据节点和 SQL节点在启动之前需要读取Cluster 的配置信息,所以通常管理节点是最先启动的。
2.SQL 节点
SQL节点简单地讲就是MySQLd服务器,应用不能直接访问数据节点,只能通过 SQL节点访问数据节点来返回数据。任何一个SQL节点都是连接到所有的存储节点的,所以当任何一个存储节点发生故障的时候,SQL 节点都可以把请求转移到另一个存储节点执行。通常来说,SQL节点越多越好,SQL节点越多,分配到每个SQL节点的负载就越小,系统的整体性能就越好。
3.数据节点
数据节点用来存放Cluster 里面的数据,MySQL Cluster 在各个数据节点之间复制数据,任何一个节点发生了故障,始终会有另外的数据节点存储数据。
通常这3种不同逻辑的节点可以分布在不同的计算机上面,集群最少有3台计算机,为了保证能够正常维护整个集群服务,通常将管理节点放在一个独立的主机上。
19.2 Linux环境下MySQL Cluster安装和配置
19.2.1 安装MySQL Cluster软件
略
19.2.2 管理节点配置步骤
略
19.2.3 配置SQL节点和数据节点
略
19.3 管理MySQL Cluster
19.3.1 Cluster的启动
略
19.3.2 Cluster的测试
略
19.3.3 Cluster的关闭
略
19.4 维护MySQL Cluster
19.4.1 Cluster的日志管理
略
19.4.2 Cluster的联机备份
略
19.4.3 Cluster的数据恢复
略
19.5 Windows操作系统中配置Cluster
略
19.6 专家解惑
略
19.7 经典习题
略