21.2.4.1 通过二进制版本在 Windows 上安装 NDB 群集

本节使用本节开头概述的相同的 4 节点设置(请参阅第 21.2 节“ NDB 群集安装”)介绍使用 Oracle 提供的二进制“无安装” NDB Cluster 发行版在 Windows 上进行 NDB Cluster 的基本安装,如下所示。table:

table21.6 示例集群中节点的网络地址

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

与在其他平台上一样,运行 SQL 节点的 NDB 群集主机必须在其上安装 MySQL 服务器二进制文件(mysqld.exe)。您还应该在此主机上具有 MySQLClient 端(mysql.exe)。对于 Management 节点和数据节点,没有必要安装 MySQL Server 二进制文件。但是,每个 Management 节点都需要 Management 服务器守护程序(ndb_mgmd.exe);每个数据节点都需要数据节点守护程序(ndbd.exendbmtd.exe)。在此示例中,我们将ndbd.exe称为数据节点可执行文件,但是可以完全相同的方式安装ndbmtd.exe,此程序的多线程版本。您还应该在 Management 服务器主机上安装 ManagementClient 端(ndb_mgm.exe)。本节介绍了为每种类型的 NDB 群集节点安装正确的 Windows 二进制文件所需的步骤。

Note

与其他 Windows 程序一样,NDB Cluster 可执行文件以.exe文件 extensions 命名。但是,从命令行调用这些程序时,不必包括.exeextensions。因此,我们在本文档中通常将这些程序简称为mysqldmysqlndb_mgmd等。您应该理解,无论我们引用(例如)mysqld还是mysqld.exe,两个名称都 table 示同一件事(MySQL 服务器程序)。

要使用 Oracle 的no-install二进制文件设置 NDB 群集,安装过程的第一步是从https://dev.mysql.com/downloads/cluster/下载最新的 NDB 群集 Windows ZIP 二进制存档。该 Files 文件的文件名是mysql-cluster-gpl-ver-winarch.zip,其中* ver NDB存储引擎版本(例如7.5.20),而 arch *是体系结构(对于 32 位二进制文件是32,对于 64 位二进制文件是64)。例如,用于 64 位 Windows 系统的 NDB Cluster 7.5.20 归档文件名为mysql-cluster-gpl-7.5.20-win64.zip

您可以在 32 位和 64 位版本的 Windows 上运行 32 位 NDB 群集二进制文件。但是,64 位 NDB 群集二进制文件只能在 Windows 的 64 位版本上使用。如果在具有 64 位 CPU 的计算机上使用 Windows 32 位版本,则必须使用 32 位 NDB 群集二进制文件。

为了最大程度地减少需要从 Internet 下载或在计算机之间复制的文件数量,我们从要在其中运行 SQL 节点的计算机开始。

SQL 节点. 我们假设您已将存档副本放在 IP 地址为 198.51.100.20 的计算机上的目录C:\Documents and Settings\username\My Documents\Downloads中,其中* username *是当前用户的名称。 (您可以在命令行上使用ECHO %USERNAME%获得此名称.)要将 NDB Cluster 可执行文件作为 Windows 服务安装和运行,该用户应是Administrators组的成员。

从存档中提取所有文件。与 Windows 资源 Management 器集成的提取向导足以完成此任务。 (如果使用其他存档程序,请确保它从存档中提取所有文件和目录,并且保留了存档的目录结构.)当系统询问您目标目录时,ImportingC:\,这将导致“提取向导”执行以下操作:将存档提取到目录C:\mysql-cluster-gpl-ver-winarch。将此目录重命名为C:\mysql

可以将 NDB 群集二进制文件安装到C:\mysql\bin以外的目录;但是,如果这样做,则必须相应地修改此过程中显示的路径。特别是,如果将 MySQL Server(SQL 节点)二进制文件安装到C:\mysqlC:\Program Files\MySQL\MySQL Server 5.7以外的位置,或者如果 SQL 节点的数据目录位于C:\mysql\dataC:\Program Files\MySQL\MySQL Server 5.7\data以外的位置,则必须在命令行上使用其他配置选项或在启动 SQL 节点时添加到my.inimy.cnf文件中。有关配置 MySQL Server 在非标准位置运行的更多信息,请参见第 2.3.4 节“使用 noinstall ZIP 归档文件在 Microsoft Windows 上安装 MySQL”

为了使具有 NDB 群集支持的 MySQL 服务器作为 NDB 群集的一部分运行,必须使用--ndbcluster--ndb-connectstring选项启动它。尽管可以在命令行上指定这些选项,但是通常将它们放在选项文件中更为方便。为此,请在记事本或其他文本编辑器中创建一个新的文本文件。在此文件中 Importing 以下配置信息:

[mysqld]
# Options for mysqld process:
ndbcluster                       # run NDB storage engine
ndb-connectstring=198.51.100.10  # location of management server

如果需要,您可以添加此 MySQL 服务器使用的其他选项(请参见第 2.3.4.2 节“创建选项文件”),但是文件必须至少包含所示的选项。将此文件另存为C:\mysql\my.ini。这样就完成了 SQL 节点的安装和设置。

数据节点. Windows 主机上的 NDB 群集数据节点仅需要一个可执行文件,即ndbd.exendbmtd.exe之一。对于此示例,我们假设您使用的是ndbd.exe,但是使用ndbmtd.exe时,同样的说明适用。在希望运行数据节点的每台计算机(IP 地址为 198.51.100.30 和 198.51.100.40 的计算机)上,创建目录C:\mysqlC:\mysql\binC:\mysql\cluster-data;然后,在下载并提取no-install存档的计算机上,在C:\mysql\bin目录中找到ndbd.exe。将此文件复制到两个数据节点主机上的C:\mysql\bin目录。

要用作 NDB 群集的一部分,必须为每个数据节点指定 Management 服务器的地址或主机名。启动每个数据节点进程时,可以使用--ndb-connectstring-c选项在命令行上提供此信息。但是,通常最好将此信息放在选项文件中。为此,请在记事本或其他文本编辑器中创建一个新的文本文件,然后 Importing 以下文本:

[mysql_cluster]
# Options for data node process:
ndb-connectstring=198.51.100.10  # location of management server

在数据节点主机上将此文件另存为C:\mysql\my.ini。创建另一个包含相同信息的文本文件,并将其另存为另一个数据节点主机上的C:mysql\my.ini,或将 my.ini 文件从第一个数据节点主机复制到第二个数据节点主机,确保将副本放置在第二个数据节点的主机中C:\mysql目录。现在,两个数据节点主机均已准备就绪,可以在 NDB 群集中使用,这仅使 Management 节点得以安装和配置。

Management 节点. 用于托管 NDB 群集 Management 节点的计算机上唯一需要的可执行程序是 Management 服务器程序ndb_mgmd.exe。但是,为了在启动 NDB 群集后对其进行 Management,还应该将 NDB 群集 ManagementClient 端程序ndb_mgm.exe与 Management 服务器安装在同一台计算机上。在下载并解压缩了no-install归档文件的计算机上找到这两个程序;这应该是 SQL 节点主机上的目录C:\mysql\bin。在 IP 地址为 198.51.100.10 的计算机上创建目录C:\mysql\bin,然后将两个程序都复制到该目录。

现在,您应该创建两个供ndb_mgmd.exe使用的配置文件:

要创建此文件,请在记事本或其他文本编辑器中启动一个新的文本文件,然后 Importing 以下信息:

[mysql_cluster]
# Options for management node process
config-file=C:/mysql/bin/config.ini

将此文件另存为文本文件C:\mysql\bin\my.ini

使用文本编辑器(如记事本)创建一个新的文本文件,并 Importing 以下信息:

[ndbd default]
# Options affecting ndbd processes on all data nodes:
NoOfReplicas=2                      # Number of replicas
DataDir=C:/mysql/cluster-data       # Directory for each data node's data files
                                    # Forward slashes used in directory path,
                                    # rather than backslashes. This is correct;
                                    # see Important note in text
DataMemory=80M    # Memory allocated to data storage
IndexMemory=18M   # Memory allocated to index storage
                  # For DataMemory and IndexMemory, we have used the
                  # default values. Since the "world" database takes up
                  # only about 500KB, this should be more than enough for
                  # this example Cluster setup.

[ndb_mgmd]
# Management process options:
HostName=198.51.100.10              # Hostname or IP address of management node
DataDir=C:/mysql/bin/cluster-logs   # Directory for management node log files

[ndbd]
# Options for data node "A":
                                # (one [ndbd] section per data node)
HostName=198.51.100.30          # Hostname or IP address

[ndbd]
# Options for data node "B":
HostName=198.51.100.40          # Hostname or IP address

[mysqld]
# SQL node options:
HostName=198.51.100.20          # Hostname or IP address

将此文件另存为文本文件C:\mysql\bin\config.ini

Important

在 Windows 上的 NDB Cluster 使用的程序选项或配置文件中指定目录路径时,不能使用单个反斜杠字符(\)。相反,您必须使用第二个反斜杠(_ _)转义每个反斜杠字符,或用正斜杠字符(/)替换反斜杠。例如,NDB 群集config.ini文件的[ndb_mgmd]部分中的以下行不起作用:

DataDir=C:\mysql\bin\cluster-logs

而是,您可以使用以下任一方法:

DataDir=C:\\mysql\\bin\\cluster-logs  # Escaped backslashes
DataDir=C:/mysql/bin/cluster-logs     # Forward slashes

为了简洁起见,我们建议您在 Windows 的 NDB 群集程序选项和配置文件中使用的目录路径中使用正斜杠。

首页