21.2.4.3 Windows 上 NDB 群集的初始启动

一旦 NDB 群集可执行文件和所需的配置文件到位,执行群集的初始启动仅是为群集中所有节点启动 NDB 群集可执行文件。每个群集节点进程必须在其所在的主机上分别启动。应首先启动 Management 节点,然后再启动数据节点,然后再启动任何 SQL 节点。

  • 在 Management 节点主机上,从命令行发出以下命令以启动 Management 节点进程。输出应类似于此处显示的内容:
C:\mysql\bin> ndb_mgmd
2010-06-23 07:53:34 [MgmtSrvr] INFO -- NDB Cluster Management Server. mysql-5.7.31-ndb-7.5.20
2010-06-23 07:53:34 [MgmtSrvr] INFO -- Reading cluster configuration from 'config.ini'

Management 节点进程 continue 将日志记录输出打印到控制台。这是正常现象,因为 Management 节点未作为 Windows 服务运行。 (如果您在类似 Unix 的平台(例如 Linux)上使用了 NDB Cluster,您可能会注意到,在这方面,Management 节点在 Windows 上的默认行为实际上与它在 Unix 系统上的行为相反,后者在默认情况下作为 Unix 运行对于 Windows 上运行的 NDB 群集数据节点进程,也是如此。)因此,请不要关闭正在运行ndb_mgmd.exe的窗口;请不要关闭该窗口。这样做会杀死 Management 节点进程。 (请参阅第 21.2.4.4 节“将 NDB 群集进程安装为 Windows 服务”,我们在其中展示如何将 NDB Cluster 进程安装和运行为 Windows 服务。)

必需的-f选项告诉 Management 节点在哪里可以找到全局配置文件(config.ini)。此选项的长格式为--config-file

Important

NDB 群集 Management 节点缓存它从config.ini读取的配置数据。一旦创建了配置缓存,它将在后续启动时忽略config.ini文件,除非被迫执行其他操作。这意味着,如果 Management 节点由于此文件中的错误而无法启动,则必须在纠正了其中的所有错误之后使 Management 节点重新读取config.ini。您可以通过在命令行上使用--reload--initial选项启动ndb_mgmd.exe来完成此操作。这些选项均可以刷新配置缓存。

不必要或不建议在 Management 节点的my.ini文件中使用这两个选项。

有关可与ndb_mgmd一起使用的选项的更多信息,请参见第 21.4.4 节“ ndb_mgmd-NDB 群集 Management 服务器守护程序”以及第 21.4.32 节“ NDB 群集程序的公用选项-NDB 群集程序的公用选项”

  • 在每个数据节点主机上,运行此处显示的命令以启动数据节点进程:
C:\mysql\bin> ndbd
2010-06-23 07:53:46 [ndbd] INFO -- Configuration fetched from 'localhost:1186', generation: 1

在每种情况下,数据节点进程的第一行输出应类似于前面示例中显示的内容,然后是日志输出的其他行。与 Management 节点进程一样,这是正常现象,因为数据节点未作为 Windows 服务运行。因此,请勿关闭正在运行数据节点进程的控制台窗口。这样做会杀死ndbd.exe。 (有关更多信息,请参见第 21.2.4.4 节“将 NDB 群集进程安装为 Windows 服务”。)

  • 暂时不要启动 SQL 节点。在数据节点启动完成之前,它无法连接到群集,这可能需要一些时间。而是在 Management 节点主机上的新控制台窗口中,启动 NDB 群集 ManagementClient 端ndb_mgm.exe,该 Client 端应在 Management 节点主机上的C:\mysql\bin中。 (不要通过键入 CTRL C 来重复使用运行ndb_mgmd.exe的控制台窗口,因为这会杀死 Management 节点。)结果输出应如下所示:
C:\mysql\bin> ndb_mgm
-- NDB Cluster -- Management Client --
ndb_mgm>

当出现提示ndb_mgm>时,table 明 ManagementClient 端已准备好接收 NDB 群集 Management 命令。您可以通过在 ManagementClient 端提示符下 ImportingALL STATUS来观察数据节点启动时的状态。此命令将生成有关数据节点启动 Sequences 的运行报告,该报告应类似于以下内容:

ndb_mgm> ALL STATUS
Connected to Management Server at: localhost:1186
Node 2: starting (Last completed phase 3) (mysql-5.7.31-ndb-7.5.20)
Node 3: starting (Last completed phase 3) (mysql-5.7.31-ndb-7.5.20)

Node 2: starting (Last completed phase 4) (mysql-5.7.31-ndb-7.5.20)
Node 3: starting (Last completed phase 4) (mysql-5.7.31-ndb-7.5.20)

Node 2: Started (version 7.5.20)
Node 3: Started (version 7.5.20)

ndb_mgm>

Note

在 ManagementClient 端中发出的命令不区分大小写。我们使用大写字母作为这些命令的规范形式,但是当您将它们 Importing 到ndb_mgmClient 端时,不需要遵守该约定。有关更多信息,请参见第 21.5.1 节“ NDB 群集 ManagementClient 端中的命令”

ALL STATUS产生的输出可能会与此处显示的输出有所不同,具体取决于数据节点的启动速度,所使用的 NDB Cluster 软件的发行版本号以及其他因素。重要的是,当您看到两个数据节点都已启动时,就可以启动 SQL 节点了。

您可以让ndb_mgm.exe运行;它对 NDB 群集的性能没有负面影响,我们将在下一步中使用它来验证 SQL 节点在启动后是否已连接到群集。

  • 在指定为 SQL 节点主机的计算机上,打开控制台窗口,然后导航到解压缩 NDB Cluster 二进制文件的目录(如果您遵循的是示例C:\mysql\bin)。

通过从命令行调用mysqld.exe来启动 SQL 节点,如下所示:

C:\mysql\bin> mysqld --console

--console选项导致将日志记录信息写入控制台,这在出现问题时可能会有所帮助。 (一旦您满意 SQL 节点的运行状况,您可以停止它并在不使用--console选项的情况下将其重新启动,从而可以正常执行日志记录。)

在 ManagementClient 端(ndb_mgm.exe)在 Management 节点主机上运行的控制台窗口中,ImportingSHOW命令,该命令应产生类似于以下所示的输出:

ndb_mgm> SHOW
Connected to Management Server at: localhost:1186
Cluster Configuration
---------------------
[ndbd(NDB)]     2 node(s)
id=2    @198.51.100.30  (Version: 5.7.31-ndb-7.5.20, Nodegroup: 0, *)
id=3    @198.51.100.40  (Version: 5.7.31-ndb-7.5.20, Nodegroup: 0)

[ndb_mgmd(MGM)] 1 node(s)
id=1    @198.51.100.10  (Version: 5.7.31-ndb-7.5.20)

[mysqld(API)]   1 node(s)
id=4    @198.51.100.20  (Version: 5.7.31-ndb-7.5.20)

您还可以使用显示引擎 NDB 状态语句验证 SQL 节点是否已连接到mysqlClient 端(mysql.exe)中的 NDB 群集。

现在,您应该准备使用 NDB Cluster 的NDBCLUSTER存储引擎来处理数据库对象和数据。有关更多信息和示例,请参见第 21.2.7 节“带有 table 和数据的 NDB 群集示例”

您还可以安装ndb_mgmd.exendbd.exendbmtd.exe作为 Windows 服务。有关如何执行此操作的信息,请参见第 21.2.4.4 节“将 NDB 群集进程安装为 Windows 服务”