本节介绍规划、安装、配置和运行 NDB Cluster 的基础知识。虽然 第 25.4 节,“配置 NDB Cluster” 中的示例提供了有关各种集群选项和配置的更深入的信息,但遵循此处概述的指南和程序的结果应该是一个可用的 NDB Cluster,它满足 最低 的可用性和数据保护要求。
有关在发布版本之间升级或降级 NDB Cluster 的信息,请参阅 第 25.3.7 节,“升级和降级 NDB Cluster”。
本节涵盖硬件和软件要求;网络问题;NDB Cluster 的安装;基本配置问题;启动、停止和重启集群;加载示例数据库;以及执行查询。
假设. 以下各节对集群的物理和网络配置做了一些假设。这些假设将在接下来的几段中讨论。
集群节点和主机计算机. 集群由四个节点组成,每个节点位于独立的主机计算机上,并且每个节点在典型的以太网网络上具有固定的网络地址,如下所示
此设置也显示在下图中
网络寻址. 为了简单起见(以及可靠性),本 操作指南 只使用数字 IP 地址。但是,如果您的网络上可以使用 DNS 解析,则可以使用主机名代替 IP 地址来配置集群。或者,您可以使用 hosts
文件(通常是 Linux 和其他类 Unix 操作系统的 /etc/hosts
、Windows 上的 C:\WINDOWS\system32\drivers\etc\hosts
或者您操作系统的等效文件)提供一种方法来执行主机查找,如果这样做是可用的。
NDB
8.4 支持所有 NDB Cluster 节点之间的 IPv6 连接。
潜在的 hosts 文件问题. 当尝试使用集群节点的主机名时,一个常见的问题是由于某些操作系统(包括某些 Linux 发行版)在安装过程中在 /etc/hosts
中设置系统自己的主机名的方式造成的。考虑两台主机名分别为 ndb1
和 ndb2
的机器,它们都在 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
在这两种情况下,ndb1
将 ndb1.cluster
路由到回环 IP 地址,但从 DNS 获取 ndb2.cluster
的公共 IP 地址,而 ndb2
将 ndb2.cluster
路由到回环地址,并获取 ndb1.cluster
的公共地址。结果是每个数据节点都连接到管理服务器,但无法判断其他数据节点何时连接,因此数据节点在启动时似乎挂起。
您不能在 config.ini
中混合使用 localhost
和其他主机名或 IP 地址。因此,在这种情况下(除了为 所有 config.ini
HostName
条目使用 IP 地址之外),解决方案是从 /etc/hosts
中删除完全限定的主机名,并在 config.ini
中为所有集群主机使用它们。
主机计算机类型. 我们安装场景中的每台主机计算机都是基于英特尔的台式 PC,运行支持的操作系统,该操作系统以标准配置安装到磁盘,并且没有运行任何不必要的服务。具有标准 TCP/IP 网络功能的核心操作系统应该就足够了。为了简单起见,我们还假设所有主机上的文件系统设置相同。如果它们不同,您应该相应地调整这些说明。
网络硬件. 标准的 100 Mbps 或 1 千兆以太网卡安装在每台机器上,以及卡的适当驱动程序,并且所有四台主机都通过标准以太网网络设备(例如交换机)连接。(所有机器都应该使用具有相同吞吐量的网卡。也就是说,集群中的所有四台机器都应该具有 100 Mbps 卡 或 所有四台机器都应该具有 1 Gbps 卡。)NDB Cluster 在 100 Mbps 网络中工作;但是,千兆以太网提供更好的性能。
NDB Cluster 不 适用于吞吐量低于 100 Mbps 或延迟程度很高的网络。因此(除其他原因外),尝试通过广域网(如互联网)运行 NDB Cluster 可能会失败,并且在生产环境中不受支持。
示例数据. 我们使用 world
数据库,该数据库可从 MySQL 网站下载(请参阅 https://dev.mysqlserver.cn/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 硬件、软件和网络要求”。