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