Mysql NDB Cluster 8.4 集群安装搭建(Windows版)

一.介绍

1. 官网介绍 

MySQL集群是一个无共享的(share-nothing)、分布式节点架构的存储方案,目的是提供容错性和高性能。

NDB Cluster 是一种在无共享系统中实现内存数据库集群的技术。 无共享架构使系统能够使用非常便宜的硬件,并且对硬件或软件的特定要求最低。

NDB Cluster的设计不会出现任何单点故障。 在无共享系统中,每个组件都应具有自己的内存和磁盘,并且不建议或不支持使用共享存储机制,如网络共享,网络文件系统和SAN。

NDB Cluster将标准MySQL服务器与称为内存的集群存储引擎 NDB (代表 “ etwork ata ase ” ) 集成在一起 。 在我们的文档中,该术语 NDB 指的是特定于存储引擎的设置部分,而 “ MySQL NDB Cluster ” 指的是一个或多个MySQL服务器与 NDB 存储引擎的组合。

NDB群集由一组称为 主机 的计算机组成 ,每台 计算机 运行一个或多个进程。 这些称为 节点的 过程 可以包括MySQL服务器(用于访问NDB数据),数据节点(用于存储数据),一个或多个管理服务器,以及可能的其他专用数据访问程序。 这里显示了NDB集群中这些组件的关系:

In this cluster, three MySQL servers (mysqld program) are SQL nodes that provide access to four data nodes (ndbd program) that store data. The SQL nodes and data nodes are under the control of an NDB management server (ndb_mgmd program). Various clients and APIs can interact with the SQL nodes - the mysql client, the MySQL C API, PHP, Connector/J, and Connector/NET. Custom clients can also be created using the NDB API to interact with the data nodes or the NDB management server. The NDB management client (ndb_mgm program) interacts with the NDB management server.

     图 NDB群集组件

2. NDB集群核心概念

NDBCLUSTER (也称为 NDB )是一种内存存储引擎,提供高可用性和数据持久性功能。

的 NDBCLUSTER 存储引擎可以与一系列故障切换和负载平衡选项进行配置,但最简单的是开始在集群级别的存储引擎。 NDB Cluster的 NDB 存储引擎包含一整套数据,仅依赖于集群内部的其他数据。

NDB Cluster 的 “ Cluster ” 部分是独立于MySQL服务器配置的。 在NDB群集中,群集的每个部分都被视为一个 节点 。

注意

在许多情况下,术语 “ 节点 ” 用于表示计算机,但在讨论NDB群集时,它意味着一个 过程 。 可以在一台计算机上运行多个节点; 对于运行一个或多个群集节点的计算机,我们使用术语 群集主机 。

有三种类型的集群节点,在最小的NDB集群配置中,将至少有三个节点,每种节点中的一种:

  • 管理节点 :此类 节点 的作用是管理NDB集群中的其他节点,执行诸如提供配置数据,启动和停止节点以及运行备份等功能。 由于此节点类型管理其他节点的配置,因此应首先在任何其他节点之前启动此类型的节点。 使用命令 ndb_mgmd 启动MGM节点 。

  • 数据节点 :此类节点存储群集数据。 存在与副本一样多的数据节点,乘以片段的数量(请参见 第22.1.2节“NDB群集节点,节点组,副本和分区” )。 例如,如果有两个副本,每个副本有两个片段,则需要四个数据节点。 一个副本足以用于数据存储,但不提供冗余; 因此,建议使用2个(或更多)副本来提供冗余,从而提供高可用性。 使用命令 ndbd 启动数据节点 (请参见 第22.4.1节“ ndbd - NDB集群数据节点守护程序” )或 ndbmtd (参见 第 22.4.3 节“ ndbmtd - NDB集群数据节点守护进程(多线程)” )。

    NDB Cluster表通常完全存储在内存中而不是磁盘上(这就是我们将NDB Cluster称为 内存 数据库的原因)。 但是,一些NDB Cluster数据可以存储在磁盘上; 有关更多信息 , 请参见 第22.5.13节“NDB集群磁盘数据表” 

  • SQL节点 :这是一个访问集群数据的节点。 对于NDB Cluster,SQL节点是使用 NDBCLUSTER 存储引擎 的传统MySQL服务器 。 SQL节点是 使用 和 选项 启动 的 mysqld 进程 ,本章的其他地方对此进行了解释,可能还有其他MySQL服务器选项。 --ndbcluster --ndb-connectstring

想要了解更多的请移步Mysql8.0中文文档:https://www.dbanote.com/doc/MySQL8_Dev/cn/web.html

二.下载软件

1.通过官网链接下载Mysql NDB Cluster 二进制安装包

链接:MySQL :: Download MySQL NDB Cluster

需要下载其他版本的点击 Archives 查看历史版本

三.环境搭建

本次搭建的集群为最低配版本,使用两台Windows计算机,一台为管理节点、数据节点、SQL节点,另一台为数据节点和SQL节点。

1.环境准备

ip地址系统节点信息
221.195.164.191Windows 11管理节点
221.195.164.190Windows 11数据节点
221.195.164.191Windows 11SQL节点 
221.195.164.190Windows 11数据节点
221.195.164.191Windows 11SQL节点

2.管理节点配置

2.1 将安装包解压到指定目录 列如:D:\mysql\mysql-cluster

2.2 在bin目录下创建config目录用于存放配置文件,接着在config目录下创建config.ini和my.ini文件

切记该文件在本地创建不要在其他电脑上复制否则会报错。

3.编写config.ini配置文件

[ndbd default]
NoOfReplicas=2 #集群数量
DataDir=D:/mysql/mysql-cluster/cluster-data

[ndb_mgmd]
NodeId=1
HostName=221.195.164.191 #管理节点地址
DataDir=D:/mysql/mysql-cluster/cluster-logs

[ndbd]
NodeId=2
HostName=221.195.164.191 #数据节点地址
DataDir=D:/mysql/mysql-cluster/cluster-data

[ndbd]
NodeId=3
HostName=221.195.164.190 #数据节点地址
DataDir=D:/mysql/mysql-cluster/cluster-data


[mysqld]
NodeId=50
HostName=221.195.164.190 #Mysql节点地址

[mysqld]
NodeId=51
HostName=221.195.164.191 #Mysql节点地址



[MYSQLD]

[MYSQLD]

[MYSQLD]

[MYSQLD]

4.编写my.ini配置文件

[mysql_cluster]
# Options for management node process
config-file=D:/mysql/mysql-cluster/bin/config/config.ini

步骤 1:创建 .ndbinfo 目录
如果目录不存在,请创建它:


1mkdir "D:\mysql\mysql-cluster\data\.ndbinfo"
步骤 2:初始化 .ndbinfo 目录
确保 .ndbinfo 目录初始化正确。如果需要,可以重新初始化数据目录:

D:\mysql\mysql-cluster\bin>mysqld.exe --initialize --datadir="D:\mysql\mysql-cluster\data"

5.将管理节点配置为SQL节点和数据节点,回到D:\mysql\mysql-cluster目录下创建my.ini文件即可

[mysqld]
ndbcluster
max_connections=50 #最大连接数
ndb-connectstring=221.195.164.191 #管理节点IP

6. SQL节点和数据节点安装

安装步骤一致 都是将mysql集群安装包复制并解压到D:\mysql\mysql-cluster目录下

然后在D:\mysql\mysql-cluster目录下创建my.ini文件 用于注册数据节点和SQL节点信息

My.ini 文件与191节点保持一致

[mysqld]

ndbcluster

max_connections=50

ndb-connectstring=221.195.164.191 #管理节点IP

6.1 初始化数据

节点执行相同的操作

进入D:\mysql\mysql-cluster\bin目录打开cmd命令窗口

执行mysqld.exe --initialize --datadir=C:\mysql\mysql-cluster\data

初始化完成后会在D:\mysql\mysql-cluster\data目录下的 <主机名称.err> 文件中保存一个自动生成的密码。

6.2 修改密码

执行ALTER USER 'root'@'localhost' IDENTIFIED BY 'abc123456';

6.3 启动集群

启动顺序:启动管理节点--> 启动数据节点 --> 启动SQL节点

通过执行D:\mysql\mysql-cluster\bin目录下的ndb_mgm.exe程序

执行show命令查看节点状态

该配置为基础配置,需要配置更多参数请移步官方文档查看。

四.测试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值