21.4.31 ndb_waiter —awaitNDB 群集达到给定状态

重复ndb_waiter(每 100 毫秒)打印出所有群集数据节点的状态,直到群集达到给定状态或超过--timeout限制,然后退出。默认情况下,它 await 集群达到STARTED状态,在该状态下所有节点均已启动并连接到集群。可以使用--no-contact--not-started选项将其覆盖。

该 Util 报告的节点状态如下:

  • NO_CONTACT:无法联系该节点。

  • UNKNOWN:可以联系该节点,但是其状态尚不清楚。通常,这意味着该节点已从 Management 服务器接收到STARTRESTART命令,但尚未对其执行操作。

  • NOT_STARTED:该节点已停止,但仍与集群保持联系。使用 ManagementClient 端的RESTART命令重新启动节点时可以看到这一点。

  • STARTING:节点的ndbd进程已启动,但该节点尚未加入集群。

  • STARTED:该节点正在运行,并且已加入集群。

  • SHUTTING_DOWN:该节点正在关闭。

  • SINGLE USER MODE:在集群处于单用户模式下时,将为所有集群数据节点显示此名称。

下 table 包含特定于 NDB Cluster 本机备份还原程序ndb_waiter的选项。附加说明如下 table 所示。有关大多数 NDB 群集程序(包括ndb_waiter)共有的选项,请参见第 21.4.32 节“ NDB 群集程序的公用选项-NDB 群集程序的公用选项”

table21.264 ndb_waiter 程序的命令行选项

FormatDescription添加,不建议使用或删除
--no-contact ,

-n
await 群集达到 NO CONTACT 状态(在所有基于 MySQL 5.7 的版本中受支持)
--not-startedawait 群集达到未启动状态(在所有基于 MySQL 5.7 的版本中受支持)
--single-userawait 集群进入单用户模式(在所有基于 MySQL 5.7 的版本中受支持)
--timeout=# ,
-t
请 await 几秒钟,然后退出集群是否已达到所需状态((所有基于 MySQL 5.7 的版本均支持)
--nowait-nodes=list不需要 await 的节点列 table(所有基于 MySQL 5.7 的版本均支持)
--wait-nodes=list ,
-w
要 await 的节点列 table(在所有基于 MySQL 5.7 的版本中受支持)

Usage

ndb_waiter [-c connection_string]

Additional Options

  • --no-contact , -n

ndb_waitercontinue 运行,直到集群达到NO_CONTACT状态为止,而不是 awaitSTARTED状态。

  • --not-started

ndb_waitercontinue 运行,直到集群达到NOT_STARTED状态为止,而不是 awaitSTARTED状态。

  • --timeout=seconds , -t seconds

该 await。如果在此秒数内未达到所需状态,程序将退出。默认值为 120 秒(1200 个报告周期)。

  • --single-user

程序 await 群集进入单用户模式。

  • --nowait-nodes=list

使用此选项时,ndb_waiter 不会 await 列出 ID 的节点。该列 table 以逗号分隔;范围可以用破折号 table 示,如下所示:

shell> ndb_waiter --nowait-nodes=1,3,7-9

Important

请勿将此选项与--wait-nodes选项一起使用。

  • --wait-nodes=list , -w list

使用此选项时,ndb_waiter仅 awaitID 列出的节点。该列 table 以逗号分隔;范围可以用破折号 table 示,如下所示:

shell> ndb_waiter --wait-nodes=2,4-6,10

Important

请勿将此选项与--nowait-nodes选项一起使用。

samples 输出. 此处显示的是针对 4 节点集群(其中两个节点已关闭然后手动重新启动)运行时ndb_waiter的输出。重复的报告(用...table 示)被省略。

shell> ./ndb_waiter -c localhost

Connecting to mgmsrv at (localhost)
State node 1 STARTED
State node 2 NO_CONTACT
State node 3 STARTED
State node 4 NO_CONTACT
Waiting for cluster enter state STARTED

...

State node 1 STARTED
State node 2 UNKNOWN
State node 3 STARTED
State node 4 NO_CONTACT
Waiting for cluster enter state STARTED

...

State node 1 STARTED
State node 2 STARTING
State node 3 STARTED
State node 4 NO_CONTACT
Waiting for cluster enter state STARTED

...

State node 1 STARTED
State node 2 STARTING
State node 3 STARTED
State node 4 UNKNOWN
Waiting for cluster enter state STARTED

...

State node 1 STARTED
State node 2 STARTING
State node 3 STARTED
State node 4 STARTING
Waiting for cluster enter state STARTED

...

State node 1 STARTED
State node 2 STARTED
State node 3 STARTED
State node 4 STARTING
Waiting for cluster enter state STARTED

...

State node 1 STARTED
State node 2 STARTED
State node 3 STARTED
State node 4 STARTED
Waiting for cluster enter state STARTED

Note

如果未指定连接字符串,则ndb_waiter尝试连接到localhost上的 Management,并报告Connecting to mgmsrv at (null)

在 NDB 7.5.18 和 7.6.14 之前,由于对NDBT测试库的不必要依赖,该程序在运行完成时会打印NDBT_ProgramExit - status。现在已删除此依赖性,从而消除了多余的输出。