25.4.3.5 定义 NDB 集群管理服务器
[ndb_mgmd] 部分用于配置管理服务器的行为。如果使用多个管理服务器,可以在 [ndb_mgmd default] 部分指定所有管理服务器共有的参数。[mgm] 和 [mgm default] 是这些参数的旧别名,支持向后兼容性。
以下列表中的所有参数都是可选的,如果省略将使用默认值。
如果既没有 ExecuteOnComputer 参数也没有 HostName 参数,假设都为 localhost 的默认值。
-
Version (or later) NDB 8.4.0 Type or units 无符号 Default [...] Range 1 - 255 Restart Type 初始系统重启:需要完全关闭集群,擦除并从备份中恢复集群文件系统,然后重新启动集群。 (NDB 8.4.0)
每个集群节点都有唯一的身份。对于管理节点,这是一个介于1到255之间的整数值。这ID用于所有内部集群消息对节点进行地址标识,因此每个NDB集群节点,无论是何种类型的节点,都必须具有唯一的ID。
Note数据节点ID必须小于145。如果您计划部署大量数据节点,那么限制管理节点(和API节点)的节点ID到大于144的值是一个好主意。
使用
Id
参数来标识管理节点已经在NDB集群中弃用,取而代之的是NodeId
。虽然Id
仍然支持向后兼容,但现在生成警告,并且在未来的NDB集群版本中将被删除。 -
Version (or later) NDB 8.4.0 Type or units 无符号 Default [...] Range 1 - 255 Restart Type 初始系统重启:需要完全关闭集群,擦除并从备份中恢复集群文件系统,然后重新启动集群。 (NDB 8.4.0)
每个集群节点都有唯一的身份。对于管理节点,这是一个介于1到255之间的整数值。这ID用于所有内部集群消息对节点进行地址标识,因此必须为每个NDB集群节点,无论是哪种类型的节点,保持唯一性。
Note数据节点ID必须小于145。如果您计划部署大量数据节点,那么限制管理节点(和API节点)的节点ID到大于144的值是一个好主意。
NodeId
是识别管理节点时使用的首选参数名称。虽然旧的Id
仍然支持backward compatibility,但现在已弃用,使用时将生成警告,并且在未来的NDB集群版本中可能会被删除。 -
Version (or later) NDB 8.4.0 Type or units name Default [...] Range ... Deprecated 是(在 NDB 7.5 中) Restart Type 系统重启:需要完全关闭和重新启动集群。 (NDB 8.4.0)
这指的是
Id
设置为config.ini
文件中的一个计算机定义部分的其中之一。Important这个参数已弃用,并且在未来的版本中可能会被删除。请使用
HostName
参数代替。 -
Version (or later) NDB 8.4.0 Type or units 无符号 Default 1186 Range 0 - 64K Restart Type 系统重启:需要完全关闭和重新启动集群。 (NDB 8.4.0)
这是管理服务器监听配置请求和管理命令的端口号。
-
该节点ID只能被明确请求它的连接提供出去。不能使用“any”节点ID的管理服务器。这参数可以在同一主机上运行多个管理服务器时使用,并且
HostName
不能够区分进程。旨为测试使用。 -
Version (or later) NDB 8.4.0 Type or units 名称或IP地址 Default [...] Range ... Restart Type 节点重启:需要滚动重启集群。 (NDB 8.4.0)
指定该参数定义了管理节点所在计算机的主机名。使用
HostName
指定一个与localhost
不同的主机名。 -
Version (or later) NDB 8.4.0 Type or units integer Default 0 Range 0 - 16 Restart Type 系统重启:需要完整地关闭和重新启动集群。 (NDB 8.4.0)
将管理节点分配到特定的可用域(也称为可用区)中,以便在云环境中提高性能。通过通知
NDB
哪些节点位于哪个可用域,可以实现以下优点:-
如果请求的数据不在同一节点上,可以将读取指令发送到同一个可用域中的另一个节点。
-
不同可用域之间的节点通信可以使用
NDB
传输器的WAN支持,无需进一步的手动干预。 -
传输器的组号可以基于所用的可用域,以便SQL和其他API节点尽可能地与同一个可用域中的数据节点通信。
-
仲裁员可以从不包含数据节点的可用域中选择,也可以如果找不到这样的可用域,就从第三个可用域中选择。
LocationDomainId
参数接受一个介于 0 和 16 之间的整数值,0 是默认值;使用 0 等同于未设置该参数。 -
-
Version (or later) NDB 8.4.0 Type or units {CONSOLE|SYSLOG|FILE} Default FILE:文件名为 ndb_nodeid_cluster.log,maxsize=1000000,maxfiles=6 Range ... Restart Type 节点重启:需要对集群进行滚动重启。 (NDB 8.4.0)
该参数指定将集群日志信息发送到的位置。在这里,有三个选项—
CONSOLE
、SYSLOG
和FILE
,其中FILE
是默认值:-
CONSOLE
将日志输出到stdout
:CONSOLE
-
SYSLOG
将日志发送到syslog
设施,可能的值包括:auth
、authpriv
、cron
、daemon
、ftp
、kern
、lpr
、mail
、news
、syslog
、user
、uucp
、local0
、local1
、local2
、local3
、local4
、local5
、local6
或local7
。Note不一定每个操作系统都支持每个设施。
SYSLOG:facility=syslog
-
FILE
将集群日志输出 piped 到同一机器上的常规文件中。可以指定以下值:-
filename
:日志文件的名称。在这种情况下使用的默认日志文件名是
ndb_
。nodeid
_cluster.log -
maxsize
:文件可以增长到的最大大小(以字节为单位),然后日志将滚动到新的文件中。在这种情况下,旧的日志文件将被重命名,追加.N
到文件名称,其中N
是尚未使用的下一个数字。 -
maxfiles
:日志文件的最大数量。
FILE:filename=cluster.log,maxsize=1000000,maxfiles=6
默认的
FILE
参数值为FILE:filename=ndb_
,其中node_id
_cluster.log,maxsize=1000000,maxfiles=6node_id
是节点的 ID。 -
可以使用分号将多个日志目标指定,如下所示:
CONSOLE;SYSLOG:facility=local0;FILE:filename=/var/log/mgmd
-
-
Version (or later) NDB 8.4.0 Type or units 0-2 Default 1 Range 0 - 2 Restart Type 节点重启:需要对集群进行滚动重启。 (NDB 8.4.0)
该参数用于定义哪些节点可以作为仲裁者。只有管理节点和 SQL 节点可以作为仲裁者。
ArbitrationRank
可以取以下值之一:-
0
: 节点从不用作仲裁者。 -
1
: 节点具有高优先级,即在低优先级节点不可用的情况下首选作为仲裁者。 -
2
: 表示低优先级节点,如果有更高优先级的节点不可用,则将其用作仲裁者。
通常,管理服务器应该被配置为仲裁者,通过将其
ArbitrationRank
设置为 1(管理节点的默认值),并将所有 SQL 节点的设置为 0(SQL 节点的默认值)。您可以完全禁用仲裁 either by 设置
ArbitrationRank
到 0 在所有管理和 SQL 节点上,或者在config.ini
全局配置文件的[ndbd default]
部分中设置Arbitration
参数。设置Arbitration
将忽略所有对ArbitrationRank
的设置。 -
-
Version (or later) NDB 8.4.0 Type or units 毫秒 Default 0 Range 0 - 4294967039 (0xFFFFFEFF) Restart Type 节点重启:需要对集群进行滚动重启。 (NDB 8.4.0)
一个整数值,导致管理服务器对仲裁请求的响应被延迟该毫秒数。默认情况下,这个值是 0;通常不需要更改它。
-
Version (or later) NDB 8.4.0 Type or units 路径 Default . Range ... Restart Type 节点重启:需要对集群进行滚动重启。 (NDB 8.4.0)
这指定了管理服务器输出文件的目录,这些文件包括集群日志文件、进程输出文件和守护进程的进程 ID 文件(PID 文件)。(对于日志文件,可以通过设置
LogDestination
的FILE
参数来覆盖该位置,如前一节中所讨论过。)这个参数的默认值是ndb_mgmd所在的目录。
-
Version (or later) NDB 8.4.0 Type or units 无符号 Default [...] Range 0 - 64K Restart Type 节点重启:需要对集群进行滚动重启。 (NDB 8.4.0)
该参数指定用于从 NDB 集群管理服务器获取统计信息的端口号。它没有默认值。
-
Version (or later) NDB 8.4.0 Type or units 布尔值 Default false Range true, false Restart Type 节点重启:需要对集群进行滚动重启。 (NDB 8.4.0)
使用 WAN TCP 设置作为默认值。
-
Version (or later) NDB 8.4.0 Type or units 字符串 Default [...] Range ... Restart Type 节点重启:需要对集群进行滚动重启。 (NDB 8.4.0)
设置管理和 API 节点的心跳线程调度策略和优先级。
设置该参数的语法如以下所示:
HeartbeatThreadPriority = policy[, priority] policy: {FIFO | RR}
设置该参数时,您必须指定策略。这是
FIFO
(先进先出)或RR
(循环轮转)之一。策略值后可选地跟随优先级(一个整数)。 -
Version (or later) NDB 8.4.0 Type or units 字节 Default 0 Range 0 - 32G Restart Type 节点重启:需要对集群进行滚动重启。 (NDB 8.4.0)
该参数指定了在使用
TotalSendBufferMemory
、SendBufferMemory
或两者之一设置的传输器发送缓冲区内存外再分配的额外内存量。 -
Version (or later) NDB 8.4.0 Type or units 布尔值 Default false Range ... Restart Type 节点重启:需要对集群进行滚动重启。 (NDB 8.4.0)
如果将该参数设置为
true
,则客户端在连接到该管理节点后必须使用 TLS 进行身份验证,以便在连接中使用其他内容。 -
Version (or later) NDB 8.4.0 Type or units 字节 Default 0 Range 256KB - 4294967039 (0xFFFFFEFF) Restart Type 节点重启:需要对集群进行滚动重启。 (NDB 8.4.0)
该参数用于确定节点为共享发送缓冲区内存中的所有配置传输器分配的总量。
-
如果设置了该参数,则其最小允许值为256KB;0表示参数未被设置。有关详细信息,请参见第25.4.3.14节,“NDB 集群发送缓冲区参数配置”。
Version (or later) HeartbeatIntervalMgmdMgmd
Type or units NDB 8.4.0 Default 毫秒 Range 1500 Restart Type 节点重启:需要对集群进行滚动重启。 (NDB 8.4.0)
指定心跳消息之间的间隔,以确定另一个管理节点是否与该节点保持联系。管理节点等待3个这些间隔后宣布连接死亡;因此,缺省设置为1500毫秒,使得管理节点在超时前等待约1600毫秒。
在更改管理节点的配置后,需要对集群进行滚动重启,以使新的配置生效。
添加新管理服务器到运行中的 NDB 集群中,也需要对所有集群节点进行滚动重启,修改任何现有config.ini
文件后。关于使用多个管理节点时出现的问题,请参阅第25.2.7.10节,“NDB 集群中的多个节点限制”。
表25.8 NDB 集群重启类型
Symbol | Restart Type | Description |
---|---|---|
N | 节点 | 可以使用滚动重启(见第25.6.5节,“NDB集群的滚动重启”)来更新参数 |
S | 系统 | 所有集群节点都必须完全关闭,然后重新启动,以实现对该参数的更改 |
I | 初始 | 数据节点必须使用--initial 选项重新启动 |