本节介绍规划,安装,配置和运行NDB群集的基础。而在示例中“NDB集群配置”提供了多种集群选项和配置更深入的信息,下面的指导方针和这里列出程序的结果应该是一个可用的NDB簇满足了最低的要求数据的可用性和保护。
本节介绍了硬件和软件要求。网络问题;安装NDB群集;基本配置问题;启动,停止和重新启动集群;加载样本数据库;并执行查询。
NDB Cluster还提供NDB Cluster Auto-Installer(基于Web的图形安装程序),作为NDB Cluster分发的一部分。自动安装程序可用于在一台(用于测试)或多台主机上执行NDB群集的基本安装和设置。有关更多信息,请参见“ NDB群集自动安装程序”。
假设。以下各节对群集的物理和网络配置进行了许多假设。这些假设将在接下来的几段中讨论。
群集节点和主机。群集由四个节点组成,每个节点在单独的主机上,每个节点在典型的以太网上都具有固定的网络地址,如下所示:
示例集群中节点的网络地址
节点 | IP地址 |
---|---|
管理节点(mgmd) | 198.51.100.10 |
SQL节点(mysqld) | 198.51.100.20 |
数据节点“ A”(ndbd) | 198.51.100.30 |
数据节点“ B”(ndbd) | 198.51.100.40 |
下图也显示了此设置:
NDB群集多计算机设置
网络寻址。在简单(和可靠性)的利益,这种操作方法仅使用数字IP地址。但是,如果您的网络上可以使用DNS解析,则可以在配置群集时使用主机名代替IP地址。另外,您可以使用该hosts
文件(通常/etc/hosts
用于Windows和C:\WINDOWS\system32\drivers\etc\hosts
Windows上的Linux和其他类似Unix的操作系统,或者与您的操作系统等效的文件)来提供一种进行主机查找的方法(如果可用)。
潜在的主机文件问题。尝试为群集节点使用主机名时会出现一个常见问题,这是由于某些操作系统(包括某些Linux发行版)/etc/hosts
在安装过程中设置系统自己的主机名的方式。考虑在网络域中具有主机名ndb1
和的两台计算机。Red Hat Linux(包括某些衍生产品,例如CentOS和Fedora)在这些计算机的文件中放置以下条目:ndb2
cluster
/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的台式机,它以标准配置运行支持的操作系统,该操作系统安装到磁盘上,并且不运行任何不必要的服务。具有标准TCP / IP网络功能的核心操作系统应该足够。同样为了简单起见,我们还假定所有主机上的文件系统都设置为相同。如果不是,则应相应地调整这些说明。
网络硬件。每台计算机上均安装了标准的100 Mbps或1 GB以太网卡,以及用于该卡的正确驱动程序,并且所有四台主机都通过标准发行的以太网网络设备(如交换机)进行了连接。(所有计算机都应使用具有相同吞吐量的网卡。也就是说,群集中的所有四台计算机都应具有100 Mbps卡,或者所有四台计算机都应具有1 Gbps卡。)NDB群集在100 Mbps网络中工作;但是,千兆以太网提供了更好的性能。
重要NDB群集不适用于吞吐量低于100 Mbps或存在较高延迟的网络。因此(除其他原因外),尝试通过广域网(例如Internet)运行NDB群集的尝试不太可能成功,并且在生产中不受支持。
样本数据。我们使用world
可从MySQL网站下载的数据库(请参阅 https://dev.mysql.com/doc/index-other.html)。我们假定每台计算机都有足够的内存来运行操作系统,所需的NDB群集进程以及(在数据节点上)存储数据库。
有关安装MySQL的一般信息,请参见安装和升级MySQL。有关在Linux和其他类似Unix的操作系统上安装NDB Cluster的信息,请参见“在Linux上安装NDB Cluster”。有关在Windows操作系统上安装NDB Cluster的信息,请参见“在Windows上安装NDB Cluster”。
有关NDB Cluster硬件,软件和网络要求的一般信息,请参见“ NDB Cluster硬件,软件和网络要求”。