21.2.3.4 在 Linux 上从源代码构建 NDB 群集

本节提供有关在 Linux 和其他类似 Unix 的平台上编译 NDB Cluster 的信息。从源代码构建 NDB 群集类似于构建标准的 MySQL Server,尽管它在此处讨论的几个关键方面有所不同。有关从源代码构建 MySQL 的一般信息,请参见第 2.9 节“从源代码安装 MySQL”。有关在 Windows 平台上编译 NDB 群集的信息,请参见第 21.2.4.2 节“在 Windows 上从源代码编译和安装 NDB 群集”

构建 NDB 群集需要使用 NDB 群集源。这些可从https://dev.mysql.com/downloads/cluster/的 NDB 群集下载页面获得。存档的源文件应具有类似于mysql-cluster-gpl-7.5.20.tar.gz的名称。您还可以从 GitHub https://github.com/mysql/mysql-server/tree/cluster-7.5(NDB 7.5)和https://github.com/mysql/mysql-server/tree/cluster-7.6(NDB 7.6)获得 GitHub 上的 NDB Cluster 源。 *不支持从标准 MySQL Server 5.7 源构建 NDB Cluster 7.5 或 7.6.

CMakeWITH_NDBCLUSTER_STORAGE_ENGINE选项将导致生成 Management 节点,数据节点和其他 NDB 群集程序的二进制文件。它还会导致mysqldNDB存储引擎支持下进行编译。构建 NDB 群集时,需要此选项(或其别名WITH_NDBCLUSTER)。

Important

默认情况下启用WITH_NDB_JAVA选项。这意味着默认情况下,如果 CMake 无法在系统上找到 Java 的位置,则配置过程将失败;否则,配置过程将失败。如果您不希望启用 Java 和 ClusterJ 支持,则必须使用-DWITH_NDB_JAVA=OFF配置构建以明确指出这一点。如果需要,请使用WITH_CLASSPATH提供 JavaClasspath。

有关特定于构建 NDB 群集的 CMake 选项的更多信息,请参见编译 NDB 群集的选项

运行 make && make install (或系统的等效版本)后,结果类似于将预编译的二进制文件解压缩到相同位置所获得的结果。

Management 节点. 从源代码构建并运行默认的 make install 时,可以在/usr/local/mysql/bin中找到 Management 服务器和 ManagementClient 端二进制文件(ndb_mgmdndb_mgm)。Management 节点主机上只需要存在ndb_mgmd;但是,在同一主机上提供ndb_mgm也是一个好主意。这些可执行文件均不需要在主机文件系统上的特定位置。

数据节点. 数据节点主机上唯一需要的可执行文件是数据节点二进制文件ndbdndbmtd。 (例如,主机上不必存在mysqld。)默认情况下,从源构建时,此文件位于/usr/local/mysql/bin目录中。要在多个数据节点主机上安装,只需将ndbdndbmtd复制到另一台主机上。 (这假定所有数据节点主机都使用相同的体系结构和 os;否则,您可能需要针对每个不同的平台分别进行编译.)数据节点二进制文件不必位于主机文件系统上的任何特定位置,只要位置已知。

从源代码编译 NDB 群集时,不需要特殊选项即可构建多线程数据节点二进制文件。使用NDB存储引擎支持配置构建会导致ndbmtd自动构建; make installndbmtd二进制文件与mysqldndbdndb_mgm一起放置在安装bin目录中。

SQL 节点. 如果编译具有集群支持的 MySQL,并执行默认安装(使用 make install 作为系统root用户),则mysqld放在/usr/local/mysql/bin中。请按照第 2.9 节“从源代码安装 MySQL”中给出的步骤进行操作,以使mysqld可以使用。如果要运行多个 SQL 节点,则可以在多个计算机上使用同一mysqld可执行文件及其关联的支持文件的副本。最简单的方法是将整个/usr/local/mysql目录以及其中包含的所有目录和文件复制到其他一个或多个 SQL 节点主机,然后在每台计算机上从第 2.9 节“从源代码安装 MySQL”重复这些步骤。如果使用非默认PREFIX选项配置构建,则必须相应地调整目录。

第 21.2.5 节“ NDB 群集的初始配置”中,我们为示例 NDB 群集中的所有节点创建配置文件。