MGM API 提供了几个函数,可用于启动、停止和重启一个或多个集群数据节点。本节将对这些函数进行介绍。
**启动、停止和重启节点。** 您可以使用以下函数来启动、停止和重启集群节点,这些函数将在接下来的几节中详细介绍。
**启动节点。** 使用
ndb_mgm_start()
。-
**停止节点。** 使用
ndb_mgm_stop()
、ndb_mgm_stop2()
、ndb_mgm_stop3()
或ndb_mgm_stop4()
。通常情况下,在其他节点正在启动时,您不能使用这些函数来停止节点。您可以使用
ndb_mgm_stop4()
并将force
参数设置为 1 来覆盖此限制。 -
**重启节点。** 使用
ndb_mgm_restart()
、ndb_mgm_restart2()
、ndb_mgm_restart3()
或ndb_mgm_restart4()
。通常情况下,在其他节点正在启动时,您不能使用这些函数来重启节点。您可以使用
ndb_mgm_restart4()
并将force
参数设置为 1 来覆盖此限制。
- 描述
此函数可用于启动一个或多个集群节点。要启动的节点必须已使用 no-start 选项 (
-n
) 启动,这意味着数据节点二进制文件已启动,并且正在等待实际启用该节点的START
管理命令。- 签名
int ndb_mgm_start ( NdbMgmHandle handle, int number, const int* list )
- 参数
-
ndb_mgm_start()
接受 3 个参数一个
NdbMgmHandle
。要启动的节点的
数量
。使用0
启动集群中的所有数据节点。要启动的节点的节点 ID 的
列表
。
- 返回值
实际启动的节点数;如果发生故障,则返回
-1
。
- 描述
此函数停止一个或多个数据节点。
- 签名
int ndb_mgm_stop ( NdbMgmHandle handle, int number, const int* list )
- 参数
-
ndb_mgm_stop()
接受 3 个参数:调用此函数等同于调用ndb_mgm_stop2(
。handle
,number
,list
, 0)一个
NdbMgmHandle
。要停止的节点的
数量
。使用0
停止集群中的所有数据节点。要停止的节点的节点 ID 的
列表
。
- 返回值
实际停止的节点数;如果发生故障,则返回
-1
。
- 描述
与
ndb_mgm_stop()
类似,此函数停止一个或多个数据节点。但是,它提供了指定节点是否正常关闭的功能。- 签名
int ndb_mgm_stop2 ( NdbMgmHandle handle, int number, const int* list, int abort )
- 参数
-
ndb_mgm_stop2()
接受 4 个参数一个
NdbMgmHandle
。要停止的节点的
数量
。使用0
停止集群中的所有数据节点。要停止的节点的节点 ID 的
列表
。abort
的值决定了节点将如何关闭。1
表示节点将立即关闭;0
表示节点将正常停止。
- 返回值
实际停止的节点数;如果发生故障,则返回
-1
。
- 描述
与
ndb_mgm_stop()
和ndb_mgm_stop2()
类似,此函数停止一个或多个数据节点。与ndb_mgm_stop2()
类似,它提供了指定节点是否应该正常关闭的功能。此外,它还提供了一种方法来检查在停止节点之前是否需要断开连接。- 签名
int ndb_mgm_stop3 ( NdbMgmHandle handle, int number, const int* list, int abort, int* disconnect )
- 参数
-
ndb_mgm_stop3()
接受 5 个参数一个
NdbMgmHandle
。要停止的节点的
数量
。使用0
停止集群中的所有数据节点。要停止的节点的节点 ID 的
列表
。abort
的值决定了节点将如何关闭。1
表示节点将立即关闭;0
表示节点将正常停止。如果
disconnect
返回1
(true
),这意味着您必须先断开连接,然后才能应用停止命令。例如,当停止句柄连接到的管理服务器时,需要断开连接。
- 返回值
实际停止的节点数;如果发生故障,则返回
-1
。
- 描述
与其他
ndb_mgm_stop
函数类似,此函数停止一个或多个数据节点。与*
()ndb_mgm_stop2()
类似,它提供了指定节点是否应该正常关闭的功能;与ndb_mgm_stop3()
类似,它提供了一种方法来检查在停止节点之前是否需要断开连接。此外,即使会导致集群不可用,也可以强制关闭节点。- 签名
int ndb_mgm_stop4 ( NdbMgmHandle handle, int number, const int* list, int abort, int force, int* disconnect )
- 参数
-
ndb_mgm_stop4()
接受 6 个参数一个
NdbMgmHandle
。要停止的节点的
数量
。使用0
停止集群中的所有数据节点。要停止的节点的节点 ID 的
列表
。abort
的值决定了节点将如何关闭。1
表示节点将立即关闭;0
表示节点将正常停止。-
force
的值决定了如果关闭给定节点会导致集群不完整时要采取的操作。1
表示在这种情况下关闭节点(以及整个集群),0
表示不会关闭节点。将
force
设置为 1 还可以实现在其他节点正在启动时停止节点。(错误 #58451) 如果
disconnect
返回1
(true
),这意味着您必须先断开连接,然后才能应用停止命令。例如,当停止句柄连接到的管理服务器时,需要断开连接。
- 返回值
实际停止的节点数;如果发生故障,则返回
-1
。
- 描述
此函数可用于重启一个或多个集群数据节点。
- 签名
int ndb_mgm_restart ( NdbMgmHandle handle, int number, const int* list )
- 参数
-
ndb_mgm_restart()
接受 3 个参数一个
NdbMgmHandle
。要停止的节点的
数量
。使用0
停止集群中的所有数据节点。要停止的节点的节点 ID 的
列表
。
调用此函数等同于调用
ndb_mgm_restart2(handle, number, list, 0, 0, 0);
有关更多信息,请参阅 ndb_mgm_restart2()。
- 返回值
实际重启的节点数;如果发生故障,则返回
-1
。
- 描述
与
ndb_mgm_restart()
类似,此函数可用于重启一个或多个集群数据节点。但是,ndb_mgm_restart2()
提供了额外的重启选项,包括初始重启、等待启动和立即(强制)重启。- 签名
int ndb_mgm_restart2 ( NdbMgmHandle handle, int number, const int* list, int initial int nostart, int abort )
- 参数
-
ndb_mgm_restart2()
接受 6 个参数一个
NdbMgmHandle
。要停止的节点的
数量
。使用0
停止集群中的所有数据节点。要停止的节点的节点 ID 的
列表
。如果
initial
为 true (1
),则每个节点都会进行初始重启,即其文件系统将被删除。如果
nostart
为 true,则节点实际上不会启动,而是保持准备接收启动命令的状态。如果
abort
为 true,则节点会立即重启,绕过任何正常重启。
- 返回值
实际重启的节点数;如果发生故障,则返回
-1
。
- 描述
与
ndb_mgm_restart2()
类似,此函数可用于在一个或多个集群数据节点上执行初始重启、等待重启和立即(强制)重启。但是,ndb_mgm_restart3()
提供了在重启之前检查是否需要断开连接的附加选项。- 签名
int ndb_mgm_restart3 ( NdbMgmHandle handle, int number, const int* list, int initial int nostart, int abort, int* disconnect )
- 参数
-
ndb_mgm_restart3()
接受 7 个参数一个
NdbMgmHandle
。要停止的节点的
数量
。使用0
停止集群中的所有数据节点。要停止的节点的节点 ID 的
列表
。如果
initial
为 true (1
),则每个节点都会进行初始重启,即其文件系统将被删除。如果
nostart
为 true,则节点实际上不会启动,而是保持准备接收启动命令的状态。如果
abort
为 true,则节点会被迫立即重启,而不会执行正常重启。如果
disconnect
返回1
(true
),这意味着您必须先断开连接,然后才能应用重启命令。例如,当停止句柄连接到的管理服务器时,需要断开连接。
- 返回值
实际重启的节点数;如果发生故障,则返回
-1
。
- 描述
与其他
ndb_mgm_restart
函数类似,此函数重启一个或多个数据节点。与*
()ndb_mgm_restart2()
类似,它可用于在一个或多个 NDB 集群数据节点上执行初始重启、等待重启和立即(强制)重启;与ndb_mgm_stop3()
类似,它提供了一种方法来检查在停止节点之前是否需要断开连接。此外,即使会导致集群重启,也可以强制重启节点。- 签名
int ndb_mgm_restart4 ( NdbMgmHandle handle, int number, const int* list, int initial int nostart, int abort, int force, int* disconnect )
- 参数
-
ndb_mgm_restart4()
接受 7 个参数一个
NdbMgmHandle
。要停止的节点的
数量
。使用0
停止集群中的所有数据节点。要停止的节点的节点 ID 的
列表
。如果
initial
为 true (1
),则每个节点都会进行初始重启,即其文件系统将被删除。如果
nostart
为 true,则节点实际上不会启动,而是保持准备接收启动命令的状态。如果
abort
为 true,则节点会被迫立即重启,而不会执行正常重启。-
force
的值决定了如果由于重启导致丢失给定节点而导致集群不完整时要采取的操作。1
表示在这种情况下重启节点(以及整个集群),0
表示不会重启节点。将
force
设置为 1 还可以实现在其他节点正在启动时重启节点。(错误 #58451) 如果
disconnect
返回1
(true
),这意味着您必须先断开连接,然后才能应用重启命令。例如,当停止句柄连接到的管理服务器时,需要断开连接。
- 返回值
实际重启的节点数;如果发生故障,则返回
-1
。