Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 Reference Manual  /  MySQL NDB Cluster 8.4  /  NDB Cluster Installation

25.3 NDB 集群安装

本节描述了规划、安装、配置和运行 NDB 集群的基本步骤。虽然第25.4节,“NDB 集群配置”中提供了关于多种集群选项和配置的深入信息,但是按照这里所述的指南和过程,您应该能够创建一个满足最低可用性和数据安全要求的 NDB 集群。

有关升级或降级 NDB 集群到不同版本之间的信息,请参阅第25.3.7节,“升级和降级 NDB 集群”

本节涵盖硬件和软件要求、网络问题、NDB 集群的安装、基本配置问题、启动、停止和重启集群、加载示例数据库和执行查询。

假设。下面的部分对集群的物理和网络配置进行了一些假设。这些假设将在下面几段中讨论。

集群节点和主机计算机。集群由四个节点组成,每个节点位于单独的主机计算机上,每个节点都具有固定网络地址,在典型的以太网网络中,如下所示:

表25.4:示例集群节点的网络地址

Node IP Address
管理节点(mgmd) 198.51.100.10
SQL 节点(mysqld) 198.51.100.20
数据节点"A"(ndbd) 198.51.100.30
数据节点"B"(ndbd) 198.51.100.40

这个设置也在以下图中显示:

图25.4:NDB 集群多计算机设置

Most content is described in the surrounding text. The four nodes each connect to a central switch that connects to a network.

网络地址.  为了保持简单性(和可靠性),本文使用只有数字IP地址。然而,如果您的网络上有DNS解析服务,您可以在配置集群时使用主机名代替IP地址。或者,您可以使用hosts文件(通常是Linux和其他Unix-like操作系统的/etc/hosts,Windows的C:\WINDOWS\system32\drivers\etc\hosts或您的操作系统的等效文件)来提供主机查找方式,如果可用。

NDB 8.4支持IPv6,用于连接所有NDB集群节点之间。

可能的hosts文件问题. 当尝试使用主机名为集群节点时,出现的问题是由于某些操作系统(包括一些Linux发行版)在安装过程中将系统自己的主机名写入/etc/hosts文件。考虑两个机器的主机名分别为ndb1ndb2,都在cluster网络域名下。Red Hat Linux(包括一些派生版本,如CentOS和Fedora)将以下条目写入这些机器的/etc/hosts文件:

#  ndb1 /etc/hosts:
127.0.0.1   ndb1.cluster ndb1 localhost.localdomain localhost
#  ndb2 /etc/hosts:
127.0.0.1   ndb2.cluster ndb2 localhost.localdomain localhost

SUSE Linux(包括OpenSUSE)将这些条目写入机器的/etc/hosts文件:

#  ndb1 /etc/hosts:
127.0.0.1       localhost
127.0.0.2       ndb1.cluster ndb1
#  ndb2 /etc/hosts:
127.0.0.1       localhost
127.0.0.2       ndb2.cluster ndb2

在这两种情况下,ndb1ndb1.cluster路由到回环IP地址,但从DNS获取ndb2.cluster的公共IP地址,而ndb2ndb2.cluster路由到回环地址,并获取ndb1.cluster的公共地址。结果是,每个数据节点都连接到管理服务器,但是无法确定其他数据节点何时连接,因此数据节点在启动时会出现假死现象。

Caution

您不能在config.ini中混合使用localhost和其他主机名或IP地址。因此,在这种情况下(除了使用所有config.ini中的HostName条目使用IP地址)解决方案是从/etc/hosts中删除完全限定主机名,并在config.ini中为所有集群主机使用这些名称。

主机计算机类型。 在我们的安装场景中,每个主机计算机都是运行支持的操作系统的英特尔基于桌面PC,安装到磁盘上,以标准配置运行,并且不运行任何无关服务。核心操作系统应该具有标准TCP/IP网络能力。此外,为简单起见,我们也假设所有主机文件系统都设置了相同的身份。在实际情况下,如果它们不同,您需要根据这些说明进行适应。

网络硬件。每台机器都安装了标准100 Mbps或1 Gbps以太网卡,并且安装了适当的驱动程序,所有四台主机通过标准的以太网网络设备,如交换机连接起来。 (所有机器应该使用相同的传输速率。也就是说,所有四台机器都应该使用100 Mbps卡所有四台机器都应该使用1 Gbps卡。) NDB集群在100 Mbps网络中工作,但是Gigabit以太网提供了更好的性能。

Important

NDB集群不是为低于100 Mbps的网络或高延迟网络设计的。因此,对于这个原因(以及其他原因),尝试在宽域网络,如Internet上运行NDB集群是不可能成功的,并且在生产环境中不受支持。

示例数据。我们使用可从MySQL网站下载的world数据库(见https://dev.mysql.com/doc/index-other.html)。我们假设每台机器都有足够的内存来运行操作系统、必要的NDB集群进程和(在数据节点上)存储数据库。

关于 MySQL 安装的总体信息,请见第 2 章,《安装 MySQL》。关于在 Linux 和其他 Unix 类操作系统上安装 NDB 集群的信息,请见第 25.3.1 节,《Linux 上的 NDB 集群安装》。关于在 Windows 操作系统上安装 NDB 集群的信息,请见第 25.3.2 节,《Windows 上的 NDB 集群安装》

关于 NDB 集群硬件、软件和网络要求的总体信息,请见第 25.2.3 节,《NDB 集群硬件、软件和网络要求》