21.2 NDB 群集安装
本节介绍规划,安装,配置和运行 NDB 群集的基础知识。 第 21.3 节“ NDB 群集的配置”中的示例提供了有关各种群集选项和配置的更深入的信息,但遵循此处概述的准则和过程的结果应该是一个可用的 NDB 群集,它满足对数据的可用性和保护的“最低要求”。
有关在发行版本之间升级或降级 NDB 群集的信息,请参阅第 21.2.9 节“升级和降级 NDB 集群”。
本节介绍了硬件和软件要求。网络问题;安装 NDB 群集;基本配置问题;启动,停止和重新启动集群;加载 samples 数据库;和执行查询。
GUI 安装. NDB Cluster 还提供 NDB Cluster Auto-Installer(基于 Web 的图形安装程序),作为 NDB Cluster 分发的一部分。自动安装程序可用于在一台(用于测试)或多台主机上执行 NDB 群集的基本安装和设置。自动安装程序已针对 NDB 7.6 更新,并且在许多方面与 NDB 7.5 及更早版本中的版本有所不同。 第 21.2.1 节“ NDB 群集自动安装程序(NDB 7.5)”,具有有关 NDB 7.5 自动安装程序的信息;如果您使用的是 NDB 7.6,请参见第 21.2.2 节“ NDB 群集自动安装程序(NDB 7.6)”。
假设. 以下各节对群集的物理和网络配置进行了许多假设。在接下来的几段中将讨论这些假设。
集群节点和主机. 集群由四个节点组成,每个节点位于单独的主机上,每个节点在典型的以太网网络上具有固定的网络地址,如下所示:
table21.4 示例集群中节点的网络地址
Node | IP Address |
---|---|
Management 节点( mgmd ) | 198.51.100.10 |
SQL 节点(mysqld) | 198.51.100.20 |
数据节点“ A”(ndbd) | 198.51.100.30 |
数据节点“ B”(ndbd) | 198.51.100.40 |
下图也显示了此设置:
图 21.4 NDB 群集多计算机设置
网络寻址. 为了简单起见(和可靠性),此“操作方法”仅使用数字 IP 地址。但是,如果您的网络上可以使用 DNS 解析,则可以在配置群集时使用主机名代替 IP 地址。另外,您可以使用hosts
文件(对于 Linux 和其他类似 Unix 的 os 通常为/etc/hosts
,在 Windows 上为C:\WINDOWS\system32\drivers\etc\hosts
或与您的 os 等效的文件)提供一种进行主机查找的方法(如果可用)。
潜在的主机文件问题. 由于在安装过程中某些 os(包括某些 Linux 发行版)在/etc/hosts
中设置系统自己的主机名的方式而导致尝试在群集节点上使用主机名时出现了一个常见问题。考虑两台主机名分别为cluster
网络域的机器ndb1
和ndb2
。 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
的公共地址。结果是每个数据节点都连接到 Management 服务器,但无法确定何时有其他数据节点已连接,因此这些数据节点在启动时似乎挂起。
Caution
您不能在localhost
中混合使用localhost
和其他主机名或 IP 地址。由于这些原因,在这种情况下的解决方案(除了将 IP 地址用于* all * config.ini
HostName
条目之外)是从/etc/hosts
中删除完全限定的主机名,并在config.ini
中将其用于所有群集主机。
主机类型. 在我们的安装方案中,每台主机都是基于 Intel 的台式机,它运行支持的 os,并以标准配置安装到磁盘上,并且不运行任何不必要的服务。具有标准 TCP/IP 网络功能的核心 os 应该足够。同样为了简单起见,我们还假定所有主机上的文件系统都设置为相同。如果不是,则应相应地调整这些说明。
网络硬件. 每台机器上均安装了标准的 100 Mbps 或 1 GB 以太网卡,以及用于该卡的正确驱动程序,并且所有四台主机都通过标准发行的以太网网络设备(如交换机)进行了连接。 (所有计算机都应使用具有相同吞吐量的网卡.也就是说,群集中的所有四台计算机都应具有 100 Mbps 卡或所有四台计算机都应具有 1 Gbps 卡.)NDB 群集在 100 Mbps 网络中工作;但是,千兆以太网提供了更好的性能。
Important
NDB 群集不打算用于吞吐量小于 100 Mbps 或存在高延迟的网络。因此(除其他原因外),尝试在诸如 Internet 之类的广域网上运行 NDB 群集的尝试不太可能成功,并且在 Producing 不受支持。
samples 数据. 我们使用world
数据库,该数据库可从 MySQL 网站下载(请参阅https://dev.mysql.com/doc/index-other.html)。我们假设每台计算机都有足够的内存来运行 os,所需的 NDB 群集进程以及(在数据节点上)存储数据库。
有关安装 MySQL 的一般信息,请参见第 2 章,安装和升级 MySQL。有关在 Linux 和其他类似 Unix 的 os 上安装 NDB Cluster 的信息,请参阅第 21.2.3 节“在 Linux 上安装 NDB 群集”。有关在 Windowsos 上安装 NDB Cluster 的信息,请参见第 21.2.4 节“在 Windows 上安装 NDB 群集”。
有关 NDB Cluster 的硬件,软件和网络要求的一般信息,请参阅第 21.1.3 节“ NDB 群集的硬件,软件和网络要求”。