25.3 NDB 集群安装
本节描述了规划、安装、配置和运行 NDB 集群的基本步骤。虽然第25.4节,“NDB 集群配置”中提供了关于多种集群选项和配置的深入信息,但是按照这里所述的指南和过程,您应该能够创建一个满足最低可用性和数据安全要求的 NDB 集群。
有关升级或降级 NDB 集群到不同版本之间的信息,请参阅第25.3.7节,“升级和降级 NDB 集群”。
本节涵盖硬件和软件要求、网络问题、NDB 集群的安装、基本配置问题、启动、停止和重启集群、加载示例数据库和执行查询。
假设。下面的部分对集群的物理和网络配置进行了一些假设。这些假设将在下面几段中讨论。
集群节点和主机计算机。集群由四个节点组成,每个节点位于单独的主机计算机上,每个节点都具有固定网络地址,在典型的以太网网络中,如下所示:
这个设置也在以下图中显示:
网络地址. 为了保持简单性(和可靠性),本文使用只有数字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
文件。考虑两个机器的主机名分别为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 Gbps以太网卡,并且安装了适当的驱动程序,所有四台主机通过标准的以太网网络设备,如交换机连接起来。 (所有机器应该使用相同的传输速率。也就是说,所有四台机器都应该使用100 Mbps卡或所有四台机器都应该使用1 Gbps卡。) NDB集群在100 Mbps网络中工作,但是Gigabit以太网提供了更好的性能。
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 集群硬件、软件和网络要求》。