• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • ndb_waiter —等待NDB群集达到给定状态

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

    该实用程序报告的节点状态如下:

    • NO_CONTACT:无法联系该节点。
    • UNKNOWN:可以联系该节点,但其状态尚不清楚。通常,这意味着该节点已从管理服务器接收到STARTRESTART命令,但尚未对其执行操作。
    • NOT_STARTED:节点已停止,但仍与集群保持联系。使用管理客户端的RESTART命令重新启动节点时可以看到这一点。
    • STARTING:节点的ndbd进程已启动,但是该节点尚未加入集群。
    • STARTED:节点正在运行,并且已加入集群。
    • SHUTTING_DOWN:节点正在关闭。
    • SINGLE USER MODE:当群集处于单用户模式下时,将为所有群集数据节点显示此内容。

    下表包含特定于NDB Cluster本机备份还原程序ndb_waiter的选项。附加说明如下表。有关大多数NDB群集程序(包括ndb_waiter)通用的选项,请参见“ NDB群集程序的通用选项— NDB群集程序的通用选项”。

    ndb_waiter程序的命令行选项

    格式描述添加,不建议使用或删除

    --no-contact

    -n

    等待群集达到NO CONTACT状态

    (在所有基于MySQL 8.0的版本中受支持)

    --not-started

    等待集群达到“未启动”状态

    (在所有基于MySQL 8.0的版本中受支持)

    --single-user

    等待集群进入单用户模式

    (在所有基于MySQL 8.0的版本中受支持)

    --timeout=#

    -t

    等待这几秒钟,然后退出集群是否已达到所需状态。默认值为2分钟(120秒)

    (在所有基于MySQL 8.0的版本中受支持)

    --nowait-nodes=list

    不等待的节点列表

    (在所有基于MySQL 8.0的版本中受支持)

    --wait-nodes=list

    -w

    等待的节点列表

    (在所有基于MySQL 8.0的版本中受支持)


    用法

    ndb_waiter [-c connection_string]
    

    附加选项

    • --no-contact-n

      无需等待STARTED状态,而是继续运行ndb_waiter直到集群达到NO_CONTACT退出状态为止。

    • --not-started

      无需等待STARTED状态,而是继续运行ndb_waiter直到集群达到NOT_STARTED退出状态为止。

    • --timeout=seconds-t seconds

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

    • --single-user

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

    • --nowait-nodes=list

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

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

      不要与一起使用此选项--wait-nodes选项。

    • --wait-nodes=list-w list

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

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

      不要与一起使用此选项--nowait-nodes选项。

    样本输出。此处显示的是在 4节点集群中运行ndb_waiter的输出,在该集群中,两个节点已关闭,然后手动重新启动。重复的报告(由表示...)被省略。

    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
    
    注意

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

    在NDB 8.0.20之前,由于对测试库的不必要依赖,该程序在运行完成时就打印出来。此依赖项已删除,消除了多余的输出。NDBT_ProgramExit -statusNDBT