NDB(Network Database)是网络数据库,其架构是由MySQL Server集群以及NDB存储引擎集群组成,是存算分离架构,MySQL Server主要是负责计算、NDB存储引擎主要负责数据存储,其特点是支持高可用、支持无单点故障、支持运行在廉价的机器上、支持数据分片的大规模扩展、支持网络共享文件系统、支持事务。
如上所示,NDB Management Server是数据库集群的管理节点、负责管理数据库集群,Data Nodes是数据存储节点、负责数据存取,SQL Nodes是支持事务的MySQL Server实例节点、负责数据处理,数据存储节点的数量以及数据处理节点的数量可以根据实际的存储容量以及性能需求不断扩展
如上所示,NDB部署4个数据存储节点(Node 1、Node2、Node3、Node4),数据存储节点分为两个节点分组Node Group 0(Node1以及Node 2)以及Node Group 1(Node3以及Node 4),存储的数据被分为4个数据分区(Partition 0、Partition 1、Partition 2、Partition 3),每个数据分区分为主分区以及从分区(从分区是主分区的备份,主分区数+从分区数=Node Group包含的数据存储节点数),为了提高数据分区的高可用性,每个分区都是交叉存放在不同的节点分组以及不同的数据存储节点中,节点以及节点分组可以根据存储容量的实际需求不断扩充容量
Management node (mgmd) 数据管理节点 | 192.168.0.136 |
SQL node (mysqld) 数据处理节点 | 192.168.0.137 |
Data node "A" (ndbd) 数据存储节点 | 192.168.0.138 |
Data node "B" (ndbd) 数据存储节点 | 192.168.0.139 |
如上所示,部署环境对应的集群节点以及服务器IP地址
安装SQL nodes
如上所示,从MySQL官方网站下载最新版本的NDB集群安装文件,该版本对应Linux CentOS 7的glibc 2.17版本
如上所示,解压MySQL Cluster 8.036版本的官方安装文件到安装目录、在安装目录中创建连接文件夹mysql
如上所示,设置MySQL Cluster 8.036版本的启动配置文件以及启动项
如上所示,使用root用户初始化MySQL Cluster 8.036版本成功
如上所示,在Linux CentOS 7中设置开机启动MySQL Cluster 8.036版本
如上所示,使用root用户启动MySQL Cluster 8.036版本成功
如上所示,使用系统初始密码登录MySQL Cluster 8.036版本成功
如上所示,首次登录修改root密码成功
如上所示,创建远程访问用户test成功、授权访问权限成功
安装Data nodes
如上所示,在Data node的节点中A与B中分别安装与配置数据存储节点服务
安装Management nodes
如上所示,在Management node节点中安装与配置集群管理节点服务
安装openssl3
make make test make install |
如上所示,在所有节点上安装openssl3
NDB集群启动
如上所示,在集群管理节点上启动ndb_mgmd服务
如上所示,在数据存储节点上启动ndbd服务
如上所示,启动SQL node数据处理节点服务
如上所示,在集群管理节点上显示NDB集群节点信息
如上所示,使用Workbench连接SQL node数据处理节点成功
如上所示,使用Workbench创建test_db数据库成功、创建test_table数据表成功(存储引擎类型使用ndbcluster)