## 23.3 NDB 集群安装

[23.3.1 在 Linux 上安装 NDB 集群](mysql-cluster-install-linux.html)
[23.3.2 在 Windows 上安装 NDB Cluster](mysql-cluster-install-windows.html)
[23.3.3 NDB Cluster 的初始配置](mysql-cluster-install-configuration.html)
[23.3.4 NDB Cluster 的初始启动](mysql-cluster-install-first-start.html)
[23.3.5 带有表和数据的 NDB Cluster 示例](mysql-cluster-install-example-data.html)
[23.3.6 NDB Cluster 的安全关闭和重启](mysql-cluster-install-shutdown-restart.html)
[23.3.7 升级和降级 NDB 集群](mysql-cluster-upgrade-downgrade.html)
[23.3.8 NDB Cluster 自动安装程序（不再支持）](mysql-cluster-installer.html)

[](<>)[](<>)[](<>)[](<>)[](<>)

本节介绍规划、安装、配置和运行 NDB Cluster 的基础知识。而在[第 23.4 节，“NDB 集群的配置”](mysql-cluster-configuration.html)提供有关各种集群选项和配置的更深入信息，遵循此处概述的指南和程序的结果应该是一个可用的 NDB Cluster，它符合*最低限度*对数据可用性和保护的要求。

有关在发布版本之间升级或降级 NDB Cluster 的信息，请参阅[第 23.3.7 节，“升级和降级 NDB 集群”](mysql-cluster-upgrade-downgrade.html).

本节涵盖硬件和软件要求；网络问题；安装 NDB 集群；基本配置问题；启动、停止和重新启动集群；加载示例数据库；并执行查询。

**假设。**以下部分对集群的物理和网络配置进行了一些假设。这些假设将在接下来的几段中讨论。

[](<>)**集群节点和主机。**该集群由四个节点组成，每个节点位于单独的主机上，每个节点在典型的以太网网络上都有一个固定的网络地址，如下所示：

[](<>)

**表 23.5 示例集群中节点的网络地址**

| 节点 | IP地址 |
| --- | ---- |
| 管理节点（**管理**) | 198.51.100.10 |
| SQL 节点 ([**mysqld**](mysqld.html)) | 198.51.100.20 |
| 数据节点“A”（[**ndbd**](mysql-cluster-programs-ndbd.html)) | 198.51.100.30 |
| 数据节点“B”（[**ndbd**](mysql-cluster-programs-ndbd.html)) | 198.51.100.40 |

此设置也显示在下图中：

[](<>)

**图 23.4 NDB Cluster 多计算机设置**

<img alt="Most content is described in the surrounding text. The four nodes each connect to a central switch that connects to a network." src="images/multi-comp-1.png" height="477" width="550" />

**网络寻址。**  [](<>) [](<>)为了简单（和可靠性），这*如何*仅使用数字 IP 地址。但是，如果您的网络上可以使用 DNS 解析，则可以在配置集群时使用主机名代替 IP 地址。或者，您可以使用`主机`文件（通常`/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 用于任何和所有集群节点之间的连接。

**潜在的主机文件问题。**尝试为 Cluster 节点使用主机名时的一个常见问题是由于某些操作系统（包括某些 Linux 发行版）在`/etc/hosts`在安装过程中。考虑两台具有主机名的机器`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 获取公共 IP 地址`ndb2.cluster`， 尽管`ndb2`路线`ndb2.cluster`到一个环回地址并获得一个公共地址`ndb1.cluster`.结果是每个数据节点都连接到管理服务器，但无法判断任何其他数据节点何时连接，因此数据节点在启动时似乎挂起。

警告

你不能混`本地主机`和其他主机名或 IP 地址`配置文件`.由于这些原因，在这种情况下的解决方案（除了使用 IP 地址*全部* `配置文件` `主机名`条目）是从`/etc/hosts`并使用这些`配置文件`对于所有集群主机。

**主机类型。**在我们的安装方案中，每台主机都是一台基于 Intel 的台式 PC，运行以标准配置安装到磁盘的受支持操作系统，并且不运行任何不必要的服务。具有标准 TCP/IP 网络功能的核心操作系统应该足够了。同样为了简单起见，我们还假设所有主机上的文件系统设置相同。如果不是，您应该相应地调整这些说明。

**网络硬件。**每台机器上都安装了标准的 100 Mbps 或 1 Gb 以太网卡，以及这些卡的适当驱动程序，并且所有四台主机都通过标准配置的以太网网络设备（如交换机）连接。（所有机器应该使用相同吞吐量的网卡。也就是说，集群中的所有四台机器都应该有 100 Mbps 的网卡*要么*所有四台机器都应该有 1 Gbps 卡。）NDB Cluster 在 100 Mbps 网络中工作；但是，千兆以太网提供了更好的性能。

重要的

NDB 集群是*不是*旨在用于吞吐量低于 100 Mbps 或经历高度延迟的网络。出于这个原因（以及其他原因），尝试在 Internet 等广域网上运行 NDB Cluster 不太可能成功，并且在生产中不受支持。

**样本数据。**我们使用`世界`可从 MySQL 网站下载的数据库（请参阅<https://dev.mysql.com/doc/index-other.html>）。我们假设每台机器都有足够的内存来运行操作系统、所需的 NDB Cluster 进程以及（在数据节点上）存储数据库。

有关安装 MySQL 的一般信息，请参阅[第2章，*安装和升级 MySQL*](installing.html).有关在 Linux 和其他类 Unix 操作系统上安装 NDB Cluster 的信息，请参阅[第 23.3.1 节，“在 Linux 上安装 NDB 集群”](mysql-cluster-install-linux.html).有关在 Windows 操作系统上安装 NDB Cluster 的信息，请参阅[第 23.3.2 节，“在 Windows 上安装 NDB Cluster”](mysql-cluster-install-windows.html).

有关 NDB Cluster 硬件、软件和网络要求的一般信息，请参阅[第 23.2.3 节，“NDB 集群硬件、软件和网络要求”](mysql-cluster-overview-requirements.html).
