ndb_waiter 会重复(每隔 100 毫秒)打印所有集群数据节点的状态,直到集群达到给定状态或 --timeout 限时结束,然后退出。默认情况下,它等待集群达到 STARTED 状态,其中所有节点都已启动并连接到集群。这可以通过使用 --no-contact 和 --not-started 选项来覆盖。
此实用程序报告的节点状态如下
下表显示了可以与 ndb_waiter 一起使用的选项。其他说明在表后。
用法
ndb_waiter [-c connection_string]
其他选项
-
命令行格式 --character-sets-dir=path包含字符集的目录。
-
命令行格式 --connect-retries=#类型 整数 默认值 12最小值 0最大值 12在放弃之前重试连接的次数。
-
命令行格式 --connect-retry-delay=#类型 整数 默认值 5最小值 0最大值 5尝试联系管理服务器之间等待的秒数。
-
命令行格式 --connect-string=connection_string类型 字符串 默认值 [无]与
--ndb-connectstring相同。 -
命令行格式 --core-file在出错时写入核心文件;用于调试。
-
命令行格式 --defaults-extra-file=path类型 字符串 默认值 [无]在读取全局文件后读取给定文件。
-
命令行格式 --defaults-file=path类型 字符串 默认值 [无]仅从给定文件中读取默认选项。
-
命令行格式 --defaults-group-suffix=string类型 字符串 默认值 [无]还读取具有 concat(group, suffix) 的组。
-
命令行格式 --login-path=path类型 字符串 默认值 [无]从登录文件中读取给定路径。
-
命令行格式 --no-login-paths跳过从登录路径文件中读取选项。
-
命令行格式 --help显示帮助文本并退出。
-
命令行格式 --ndb-connectstring=connection_string类型 字符串 默认值 [无]为连接到 ndb_mgmd 设置连接字符串。语法:
[nodeid=。覆盖id;][host=]hostname[:port]NDB_CONNECTSTRING和my.cnf中的条目。 -
命令行格式 --ndb-mgm-tls=level类型 枚举 默认值 relaxed有效值 relaxedstrict设置连接到管理服务器所需的 TLS 支持级别;
relaxed或strict之一。relaxed(默认值)表示会尝试建立 TLS 连接,但不需要成功;strict表示连接需要 TLS。 -
命令行格式 --ndb-mgmd-host=connection_string类型 字符串 默认值 [无]与 --
ndb-connectstring相同。 -
命令行格式 --ndb-nodeid=#类型 整数 默认值 [无]为该节点设置节点 ID,覆盖由
--ndb-connectstring设置的任何 ID。 --ndb-optimized-node-selection命令行格式 --ndb-optimized-node-selection为事务节点选择启用优化。默认情况下启用;使用
--skip-ndb-optimized-node-selection禁用。-
命令行格式 --ndb-tls-search-path=list类型 路径名 默认值(Unix) $HOME/ndb-tls默认值(Windows) $HOMEDIR/ndb-tls指定要搜索 CA 文件的目录列表。在 Unix 平台上,目录名称用冒号 (
:) 分隔;在 Windows 系统上,分号字符 (;) 用作分隔符。目录引用可以是相对的或绝对的;它可以包含一个或多个环境变量,每个变量用前缀美元符号 ($) 表示,并在使用前进行扩展。搜索从最左边的命名目录开始,并从左到右进行,直到找到文件为止。空字符串表示空搜索路径,这会导致所有搜索失败。由单个点 (
.) 组成的字符串表示搜索路径仅限于当前工作目录。如果没有提供搜索路径,则使用编译后的默认值。此值取决于使用的平台:在 Windows 上,它是
\ndb-tls;在其他平台(包括 Linux)上,它是$HOME/ndb-tls。这可以通过使用-DWITH_NDB_TLS_SEARCH_PATH编译 NDB 集群来覆盖。 --no-contact,-n代替等待
STARTED状态,ndb_waiter 会继续运行,直到集群达到NO_CONTACT状态,然后退出。-
命令行格式 --no-defaults不从除登录文件之外的任何选项文件中读取默认选项。
代替等待
STARTED状态,ndb_waiter 会继续运行,直到集群达到NOT_STARTED状态,然后退出。使用此选项时,ndb_waiter 不会等待列出的 ID 的节点。列表用逗号分隔;可以使用连字符表示范围,如下所示
$> ndb_waiter --nowait-nodes=1,3,7-9重要请不要将此选项与
--wait-nodes选项一起使用。-
命令行格式 --print-defaults打印程序参数列表并退出。
--timeout=,seconds-tseconds等待时间。如果在指定的秒数内未达到所需状态,则程序退出。默认值为 120 秒(1200 个报告周期)。
程序等待集群进入单用户模式。
-
命令行格式 --usage显示帮助文本并退出;与
--help相同。 -
命令行格式 --verbose=#类型 整数 默认值 2最小值 0最大值 2控制打印输出的详细级别。可能的级别及其影响在此列出
0: 不打印(仅返回退出代码;有关退出代码,请参见下文)。1: 仅打印最终连接状态。2: 每当检查到状态时都打印状态。这与 8.4 之前版本的 NDB 集群中的行为相同。
在此列出了 ndb_waiter 返回的退出代码及其含义
0: 成功。1: 等待超时。2: 参数错误,例如无效的节点 ID。3: 无法连接到管理服务器。
-
命令行格式 --version显示版本信息并退出。
--wait-nodes=,list-wlist使用此选项时,ndb_waiter 仅等待列出的节点 ID。该列表以逗号分隔;范围可以使用连字符表示,如下所示
$> ndb_waiter --wait-nodes=2,4-6,10重要不要将此选项与
--nowait-nodes选项一起使用。
示例输出。 以下是 ndb_waiter 在 4 节点集群中运行时的输出,其中两个节点已关闭,然后手动启动。重复的报告(用 ... 表示)被省略。
$> ./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)。