一旦 NDB Cluster 可执行文件和所需的配置文件就位,执行集群的初始启动只是为集群中的所有节点启动 NDB Cluster 可执行文件的问题。每个集群节点进程都必须单独启动,并在其所在的主机上启动。管理节点应该首先启动,然后是数据节点,最后是任何 SQL 节点。
在管理节点主机上,从命令行发出以下命令以启动管理节点进程。输出应类似于此处显示的内容:
C:\mysql\bin> ndb_mgmd 2010-06-23 07:53:34 [MgmtSrvr] INFO -- NDB Cluster Management Server. mysql-5.7.40-ndb-7.6.25 2010-06-23 07:53:34 [MgmtSrvr] INFO -- Reading cluster configuration from 'config.ini'
管理节点进程继续将日志记录输出打印到控制台。这是正常的,因为管理节点没有作为 Windows 服务运行。(如果您在 Linux 等类 Unix 平台上使用过 NDB Cluster,您可能会注意到管理节点在这方面在 Windows 上的默认行为实际上与其在 Unix 系统上的行为相反,在 Unix 系统上它默认作为 Unix 运行守护进程。此行为也适用于在 Windows 上运行的 NDB Cluster 数据节点进程。)因此,不要关闭 运行ndb_mgmd.exe的窗口;这样做会终止管理节点进程。(看 第 21.3.2.4 节,“将 NDB Cluster 进程安装为 Windows 服务”,我们展示了如何将 NDB Cluster 进程安装和运行为 Windows 服务。)
required
-f
选项告诉管理节点在哪里可以找到全局配置文件 (config.ini
)。此选项的完整格式是--config-file
.重要的NDB Cluster 管理节点缓存它读取的配置数据
config.ini
;一旦它创建了配置缓存,它就会config.ini
在后续启动时忽略该文件,除非被迫这样做。这意味着,如果管理节点由于此文件中的错误而无法启动,您必须在config.ini
更正其中的任何错误后重新读取管理节点。您可以通过 在命令行上使用 或 选项启动ndb_mgmd.exe来执行此操作。这些选项中的任何一个都可以刷新配置缓存。--reload
--initial
没有必要也不建议在管理节点的
my.ini
文件中使用这些选项中的任何一个。在每个数据节点主机上,运行此处显示的命令以启动数据节点进程:
C:\mysql\bin> ndbd 2010-06-23 07:53:46 [ndbd] INFO -- Configuration fetched from 'localhost:1186', generation: 1
在每种情况下,数据节点进程的第一行输出都应类似于前面示例中显示的内容,然后是其他日志输出行。对于管理节点进程,这是正常的,因为数据节点没有作为 Windows 服务运行。为此,不要关闭运行数据节点进程的控制台窗口;这样做会杀死 ndbd.exe。(有关更多信息,请参阅 第 21.3.2.4 节,“将 NDB Cluster 进程安装为 Windows 服务”。)
先不要启动 SQL 节点;在数据节点完成启动之前,它无法连接到集群,这可能需要一些时间。相反,在管理节点主机上的新控制台窗口中,启动 NDB Cluster 管理客户端ndb_mgm.exe,它应该在
C:\mysql\bin
管理节点主机上。(不要尝试 通过键入 CTRL + C重新使用运行ndb_mgmd.exe的控制台窗口,因为这会杀死管理节点。)结果输出应如下所示:C:\mysql\bin> ndb_mgm -- NDB Cluster -- Management Client -- ndb_mgm>
出现提示时
ndb_mgm>
,表示管理客户端已准备好接收 NDB Cluster 管理命令。ALL STATUS
您可以通过在管理客户端提示符下输入来观察数据节点启动时的状态 。此命令会生成数据节点启动序列的运行报告,该报告应如下所示:ndb_mgm> ALL STATUS Connected to Management Server at: localhost:1186 Node 2: starting (Last completed phase 3) (mysql-5.7.40-ndb-7.6.25) Node 3: starting (Last completed phase 3) (mysql-5.7.40-ndb-7.6.25) Node 2: starting (Last completed phase 4) (mysql-5.7.40-ndb-7.6.25) Node 3: starting (Last completed phase 4) (mysql-5.7.40-ndb-7.6.25) Node 2: Started (version 7.6.25) Node 3: Started (version 7.6.25) ndb_mgm>
笔记管理客户端中发出的命令不区分大小写;我们使用大写字母作为这些命令的规范形式,但是在将它们输入到ndb_mgm客户端时不需要遵守此约定 。有关更多信息,请参阅第 21.6.1 节,“NDB Cluster Management Client 中的命令”。
ALL STATUS
根据数据节点能够启动的速度、您使用的 NDB Cluster 软件的发行版本号以及其他因素, 生成的输出可能与此处显示的不同。重要的是,当您看到两个数据节点都已启动时,您就可以准备启动 SQL 节点了。你可以让ndb_mgm.exe 保持运行;它对 NDB Cluster 的性能没有负面影响,我们在下一步中使用它来验证启动后 SQL 节点是否连接到集群。
在指定为 SQL 节点主机的计算机上,打开一个控制台窗口并导航到解压缩 NDB Cluster 二进制文件的目录(如果您按照我们的示例,这是
C:\mysql\bin
)。通过从命令行调用mysqld.exe 启动 SQL 节点 ,如下所示:
C:\mysql\bin> mysqld --console
该
--console
选项会导致将日志记录信息写入控制台,这在出现问题时很有用。(一旦您对 SQL 节点以令人满意的方式运行感到满意,您可以停止它并在没有--console
选项的情况下重新启动它,以便正常执行日志记录。)在管理客户端 ( ndb_mgm.exe ) 在管理节点主机上运行的控制台窗口中,输入
SHOW
命令,它应该产生类似于此处显示的输出: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.40-ndb-7.6.25, Nodegroup: 0, *) id=3 @198.51.100.40 (Version: 5.7.40-ndb-7.6.25, Nodegroup: 0) [ndb_mgmd(MGM)] 1 node(s) id=1 @198.51.100.10 (Version: 5.7.40-ndb-7.6.25) [mysqld(API)] 1 node(s) id=4 @198.51.100.20 (Version: 5.7.40-ndb-7.6.25)
您还可以使用该 语句 验证 SQL 节点是否已连接到mysql客户端 ( mysql.exe ) 中的 NDB Cluster。
SHOW ENGINE NDB STATUS
您现在应该准备好使用 NDB Cluster 的
NDBCLUSTER
存储引擎处理数据库对象和数据。有关更多信息和示例,
请参阅
第 21.3.5 节,“带有表和数据的 NDB Cluster 示例” 。
您还可以将ndb_mgmd.exe、 ndbd.exe和ndbmtd.exe安装 为 Windows 服务。有关如何执行此操作的信息,请参阅 第 21.3.2.4 节,“将 NDB Cluster 进程安装为 Windows 服务”)。