Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

MySQL 8.3 Reference Manual  /  MySQL NDB Cluster 8.3  /  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 文件(通常是 /etc/hosts 对于 Linux 和其他 Unix-like 操作系统,C:\WINDOWS\system32\drivers\etc\hosts 对于 Windows,或者操作系统的等效文件)来提供主机查找的方式,如果可用。

NDB 8.3 支持 IPv6 用于 NDB 集群节点之间的连接。

Linux平台上运行早期版本的 NDB 时的一个已知问题是,操作系统内核总是需要提供IPv6支持,即使不使用IPv6地址。在NDB 8.1及更高版本中,这个限制不再适用,您可以安全地禁用系统的IPv6支持,如果您不需要使用IPv6寻址。

潜在的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 路由到环回地址,并从DNS获取 ndb1.cluster 的公共地址。结果是每个数据节点连接到管理服务器,但无法确定其他数据节点是否已连接,从而导致数据节点在启动时挂起。

Caution

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

主机计算机类型。 我们安装场景中的每台主机计算机都是Intel基于台式机,运行支持的操作系统,安装在标准配置的磁盘上,并且不运行任何不必要的服务。核心操作系统具有标准的TCP/IP网络功能应该足够。为了简单起见,我们还假设所有主机的文件系统设置相同。如果它们不同,您应该根据需要进行调整。

网络硬件。 每台机器上安装了标准的100 Mbps或1 Gbps以太网卡,配备了适当的驱动程序,并且所有四台主机都通过标准的以太网网络设备(如交换机)连接。(所有机器都应该使用相同的网络卡吞吐量,即所有四台机器都应该使用100 Mbps卡 所有四台机器都应该使用1 Gbps卡。)NDB Cluster在100 Mbps网络中工作;然而,千兆以太网提供了更好的性能。

Important

NDB Cluster 旨在用于网络吞吐量小于100 Mbps或延迟很高的网络中。因此,尝试在广域网(如Internet)上运行NDB Cluster是不可能成功的,也不支持生产环境中使用。

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

有关安装MySQL的常规信息,请参阅 第2章 安装MySQL。有关在Linux和其他类Unix操作系统上安装NDB Cluster的信息,请参阅 第25.3.1节,“在Linux上安装NDB Cluster”。有关在Windows操作系统上安装NDB Cluster的信息,请参阅 第25.3.2节,“在Windows上安装NDB Cluster”

有关NDB Cluster硬件、软件和网络要求的常规信息,请参阅 第25.2.3节,“NDB Cluster硬件、软件和网络要求”