管理服务器是读取集群配置文件并将此信息分发给集群中请求该配置文件的所有节点的进程。它还维护集群活动的日志。管理客户端可以连接到管理服务器,检查集群状态。
所有可以使用的选项ndb_mgmd如下表所示。其他描述见下表。
表23.26 ndb_mgmd程序使用的命令行选项
格式 | 描述 | 已添加、已弃用或已移除 |
---|---|---|
本地绑定地址 | (基于MySQL 8.0的所有NDB版本均支持) |
|
包含字符集的目录 | (基于MySQL 8.0的所有NDB版本均支持) |
|
在读取my.cnf文件中的cluster_config部分时,覆盖默认组后缀;用于测试 | 补充:NDB 8.0.24 |
|
启用管理服务器配置缓存;真正的默认情况下 | (基于MySQL 8.0的所有NDB版本均支持) |
|
指定集群配置文件;还要指定——reload或——initial来覆盖配置缓存(如果存在的话) | (基于MySQL 8.0的所有NDB版本均支持) |
|
指定集群管理服务器配置缓存目录 | (基于MySQL 8.0的所有NDB版本均支持) |
|
在放弃连接之前重试连接的次数 | (基于MySQL 8.0的所有NDB版本均支持) |
|
两次尝试联系管理服务器之间等待的秒数 | (基于MySQL 8.0的所有NDB版本均支持) |
|
——ndb-connectstring一样 | (基于MySQL 8.0的所有NDB版本均支持) |
|
写核心文件出错;用于调试 | (基于MySQL 8.0的所有NDB版本均支持) |
|
在守护进程模式下运行ndb_mgmd(默认) | (基于MySQL 8.0的所有NDB版本均支持) |
|
在读取全局文件之后读取给定文件 | (基于MySQL 8.0的所有NDB版本均支持) |
|
只从给定的文件读取默认选项 | (基于MySQL 8.0的所有NDB版本均支持) |
|
也可以用concat(group,后缀)读取组 | (基于MySQL 8.0的所有NDB版本均支持) |
|
|
显示帮助文本并退出 | (基于MySQL 8.0的所有NDB版本均支持) |
导致管理服务器从配置文件重新加载配置数据,绕过配置缓存 | (基于MySQL 8.0的所有NDB版本均支持) |
|
用于将管理服务器进程作为Windows服务安装;是否适用于其他平台 | (基于MySQL 8.0的所有NDB版本均支持) |
|
在交互模式下运行ndb_mgmd(在生产中不正式支持;仅供测试用途) | (基于MySQL 8.0的所有NDB版本均支持) |
|
写入应用于此节点的集群日志消息时使用的名称 | (基于MySQL 8.0的所有NDB版本均支持) |
|
从登录文件读取给定路径 | (基于MySQL 8.0的所有NDB版本均支持) |
|
从my.cnf文件读取集群配置数据 | (基于MySQL 8.0的所有NDB版本均支持) |
|
设置连接ndb_mgmd的连接字符串。语法:“[nodeid = id;][主机=]主机名(港口):”。覆盖NDB_CONNECTSTRING和my.cnf中的条目 | (基于MySQL 8.0的所有NDB版本均支持) |
|
——ndb-connectstring一样 | (基于MySQL 8.0的所有NDB版本均支持) |
|
设置此节点的节点ID,覆盖由——db-connectstring设置的任何ID | (基于MySQL 8.0的所有NDB版本均支持) |
|
为事务的节点选择启用优化。默认启用;使用——skip-ndb-optimized-node-selection禁用 | (基于MySQL 8.0的所有NDB版本均支持) |
|
不从除登录文件以外的任何选项文件读取默认选项 | (基于MySQL 8.0的所有NDB版本均支持) |
|
不提供任何节点ID检查 | (基于MySQL 8.0的所有NDB版本均支持) |
|
不运行ndb_mgmd作为守护进程 | (基于MySQL 8.0的所有NDB版本均支持) |
|
不要等待启动此管理服务器时指定的管理节点;要求——ndb-nodeid选项 | (基于MySQL 8.0的所有NDB版本均支持) |
|
打印程序参数列表并退出 | (基于MySQL 8.0的所有NDB版本均支持) |
|
打印完整配置并退出 | (基于MySQL 8.0的所有NDB版本均支持) |
|
导致管理服务器比较配置文件和配置缓存 | (基于MySQL 8.0的所有NDB版本均支持) |
|
用于删除以前作为Windows服务安装的管理服务器进程,可选地指定要删除的服务名称;是否适用于其他平台 | (基于MySQL 8.0的所有NDB版本均支持) |
|
|
显示帮助文本并退出;一样,帮助 | (基于MySQL 8.0的所有NDB版本均支持) |
不使用配置文件 | (基于MySQL 8.0的所有NDB版本均支持) |
|
|
将附加信息写入日志 | (基于MySQL 8.0的所有NDB版本均支持) |
|
显示版本信息并退出 | (基于MySQL 8.0的所有NDB版本均支持) |
-
命令行格式 ——bind-address =主机
类型 字符串 默认值 (没有)
使管理服务器绑定到特定的网络接口(主机名或IP地址)。该选项没有默认值。
-
命令行格式 ——character-sets-dir =路径
包含字符集的目录。
-
命令行格式 ——cluster-config-suffix =名字
介绍了 8.0.24-ndb-8.0.24 类型 字符串 默认值 (没有)
中读取集群配置节时覆盖默认组后缀
my.cnf
;用于测试。 -
命令行格式 ——config-cache(=真|假)
类型 布尔 默认值 真正的
该选项的默认值为
1
(或真正的
,或在
),可以用来禁用管理服务器的配置缓存,以便它从config.ini
每次它开始(见第23.3.3节“NDB集群配置文件”).您可以通过启动ndb_mgmd使用以下选项之一进行处理:只有当管理服务器启动时没有存储配置时,使用刚刚列出的选项之一才有效。如果管理服务器找到任何配置缓存文件,则
——config-cache
选择或——skip-config-cache
选择将被忽略。因此,要禁用配置缓存,选项应该使用第一个管理服务器启动的时间。否则—也就是说,如果您希望禁用管理服务器的配置缓存已经创建配置缓存—您必须停止管理服务器,手动删除所有现有的配置缓存文件,然后使用——skip-config-cache
(或与——config-cache
设为0,从
,或假
).配置缓存文件通常创建在一个名为
mysql-cluster
安装目录下(除非此位置已使用——configdir
选项)。每次管理服务器更新其配置数据时,它都会写一个新的缓存文件。文件按创建顺序命名,格式如下:ndb_节点编号_config.bin。seq-number
节点编号
为管理服务器的节点ID;seq-number
是从1开始的序列号。例如,如果管理服务器的节点ID是5,那么在创建前三个配置缓存文件时,将命名它们ndb_5_config.bin.1
,ndb_5_config.bin.2
,ndb_5_config.bin.3
.如果您的目的是清除或重新加载配置缓存而不实际禁用缓存,那么您应该开始ndb_mgmd用其中一个选项
——重新加载
或——初始
而不是——skip-config-cache
.要重新启用配置缓存,只需重新启动管理服务器,而不需要
——config-cache
或——skip-config-cache
先前用于禁用配置缓存的选项。ndb_mgmd不检查配置目录(
——configdir
)或试图创造一个——skip-config-cache
使用。(错误# 13428853) -
命令行格式 ——配置文件=文件
残疾的 skip-config-file
类型 文件名称 默认值 (没有)
指示管理服务器应该将哪个文件用于其配置文件。默认情况下,管理服务器查找一个名为
config.ini
在同一个目录下ndb_mgmd可执行;否则,必须显式指定文件名和位置。该选项没有默认值,并且会被忽略,除非管理服务器被迫读取配置文件ndb_mgmd开始于
——重新加载
或——初始
选项,或者因为管理服务器找不到任何配置缓存。的
——配置文件
选项也读取ifndb_mgmd开始了——config-cache =了
.看到第23.3.3节“NDB集群配置文件”,以查询更多资料。 -
命令行格式 ——configdir =目录
——config-dir =目录
类型 文件名称 默认值 $ INSTALLDIR / mysql-cluster
指定集群管理服务器的配置缓存目录。
——config-dir
是此选项的别名。在NDB 8.0.27及更高版本中,这必须是一个绝对路径。否则,管理服务器将拒绝启动。
-
命令行格式 ——connect-retries = #
类型 整数 默认值 12
最小值 0
最大值 12
在放弃连接之前重试连接的次数。
-
命令行格式 ——connect-retry-delay = #
类型 整数 默认值 5
最小值 0
最大值 5
两次尝试联系管理服务器之间等待的秒数。
-
命令行格式 ——连接字符串=连接字符串
类型 字符串 默认值 (没有)
——ndb-connectstring一样。
-
命令行格式 ——核心文件
写核心文件出错;用于调试。
-
命令行格式 ——守护进程
类型 布尔 默认值 真正的
指示ndb_mgmd作为守护进程启动。这是默认的行为。
这个选项在运行时没有效果ndb_mgmd在Windows平台上。
-
命令行格式 ——defaults-extra-file =路径
类型 字符串 默认值 (没有)
在读取全局文件之后读取给定文件。
-
命令行格式 ——defaults-file =路径
类型 字符串 默认值 (没有)
只从给定的文件读取默认选项。
-
命令行格式 ——defaults-group-suffix =字符串
类型 字符串 默认值 (没有)
也可以用concat(group,后缀)读取组。
-
命令行格式 ——帮助
显示帮助文本并退出。
-
命令行格式 ——初始
类型 布尔 默认值 假
配置数据在内部缓存,而不是在每次启动管理服务器时从集群全局配置文件中读取(参见第23.3.3节“NDB集群配置文件”).使用
——初始
选项将覆盖此行为,它强制管理服务器删除所有现有的缓存文件,然后从集群配置文件重新读取配置数据并构建新的缓存。这在两个方面不同于
——重新加载
选择。首先,——重新加载
强制服务器根据缓存检查配置文件,并仅在文件的内容与缓存不同时重新加载其数据。第二,——重新加载
不删除任何现有的缓存文件。如果ndb_mgmd是调用
——初始
如果无法找到全局配置文件,则管理服务器无法启动。当一个管理服务器启动时,它会在同一个NDB集群中检查另一个管理服务器,并尝试使用另一个管理服务器的配置数据。当执行具有多个管理节点的NDB集群的滚动重启时,这种行为会产生影响。看到第23.5.5节“NDB集群滚动重启”,以查询更多资料。
与the一起使用时
——配置文件
选项,只有在实际找到配置文件时才清除缓存。 -
命令行格式 ——安装(=名字)
特定于平台的 窗户 类型 字符串 默认值 ndb_mgmd
原因ndb_mgmd安装为Windows服务。您可以选择为服务指定一个名称;如果未设置,则服务名默认为
ndb_mgmd
.尽管最好指定otherndb_mgmd的程序选项my.ini
或my.cnf
配置文件中,可以将它们一起使用——安装
.然而,在这种情况下——安装
选项必须在给出任何其他选项之前首先指定,以便Windows服务安装成功。通常不建议将此选项与
——初始
选项,因为这将导致在每次停止和启动服务时清除配置缓存并重新构建。如果你打算使用其他的,也要小心ndb_mgmd影响管理服务器启动的选项,您应该绝对确保您完全理解并考虑到这样做可能产生的任何后果。的
——安装
选项在非windows平台上不起作用。 -
命令行格式 ——互动
类型 布尔 默认值 假
开始ndb_mgmd在交互模式;也就是说,一个ndb_mgm客户端会话在管理服务器运行时立即启动。此选项不会启动任何其他NDB集群节点。
-
命令行格式 ——日志名称=名字
类型 字符串 默认值 MgmtSrvr
提供要在群集日志中用于此节点的名称。
-
命令行格式 ——登录路径=路径
类型 字符串 默认值 (没有)
从登录文件读取给定路径。
-
命令行格式 ——mycnf
类型 布尔 默认值 假
读取配置数据
my.cnf
文件。 -
命令行格式 ——ndb-connectstring =连接字符串
类型 字符串 默认值 (没有)
设置连接字符串。语法:
[nodeid =
.覆盖条目id
;][主机=]主机名
[:港口
]NDB_CONNECTSTRING
而且my.cnf
.忽略了如果——配置文件
指定;从NDB 8.0.27开始,当使用两种选项时都会发出警告。 -
命令行格式 ——ndb-mgmd-host =连接字符串
类型 字符串 默认值 (没有)
——ndb-connectstring一样。
-
命令行格式 ——ndb-nodeid = #
类型 整数 默认值 (没有)
设置此节点的节点ID,覆盖由——db-connectstring设置的任何ID。
——ndb-optimized-node-selection
命令行格式 ——ndb-optimized-node-selection
为事务的节点选择启用优化。默认启用;使用
——skip-ndb-optimized-node-selection
禁用。-
命令行格式 ——no-nodeid-checks
类型 布尔 默认值 假
不要检查节点id。
-
命令行格式 ——nodaemon
类型 布尔 默认值 假
指示ndb_mgmd不作为守护进程启动。
的默认行为ndb_mgmdon Windows是在前台运行,使该选项在Windows平台上不必要。
-
命令行格式 ——已
不要从除登录文件以外的任何选项文件中读取默认选项。
-
命令行格式 ——nowait-nodes =列表
类型 数字 默认值 (没有)
最小值 1
最大值 255
当配置了两个管理节点的新db集群启动时,每个管理服务器通常会检查另一个管理节点是否启动ndb_mgmd也是可操作的,以及其他管理服务器的配置是否与其自己的配置相同。然而,有时需要在集群中只启动一个管理节点(可能允许另一个管理节点)ndb_mgmd稍后开始)。该选项导致管理节点绕过对任何其他管理节点(其节点id已传递给该选项)的检查,从而允许集群启动,就像配置了仅使用启动的管理节点一样。
为了说明问题,请考虑a的以下部分
config.ini
文件(其中我们省略了大部分与本例无关的配置参数):[ndbd] NodeId = 1 HostName = 198.51.100.101 [ndbd] NodeId = 2 HostName = 198.51.100.102 [ndbd] NodeId = 3 HostName = 198.51.100.103 [ndbd] NodeId = 4 HostName = 198.51.100.104 [ndb_mgmd] NodeId = 10 HostName = 198.51.100.150 [ndb_mgmd] NodeId = 11 HostName = 198.51.100.151 [api] NodeId = 20 HostName = 198.51.100.200 [api] NodeId = 21 HostName = 198.51.100.201
假设您希望仅使用具有节点ID的管理服务器启动此集群
10
运行在IP地址为198.51.100.150的主机上。(例如,假设您打算连接另一个管理服务器的主机由于硬件故障而暂时不可用,您正在等待它被修复。)要以这种方式启动集群,请在位于198.51.100.150的机器上使用命令行输入以下命令:Shell > ndb_mgmd——ndb-nodeid=10——nowait-nodes=11
如上例所示,当使用
——nowait-nodes
,你还必须使用——ndb-nodeid
选项指定该节点的节点IDndb_mgmd的过程。然后,您可以以通常的方式启动集群的每个数据节点。如果您希望在稍后启动和使用第一个管理服务器和第二个管理服务器而不重新启动数据节点,则必须使用引用两个管理服务器的连接字符串启动每个数据节点,如下所示:
Shell > NDBD -c 198.51.100.150,198.51.100.151
对于与any一起使用的连接字符串也是如此mysqld您希望作为NDB集群启动的进程的SQL节点连接到此集群。看到第23.3.3.3节“NDB集群连接字符串”,以查询更多资料。
一起使用时ndb_mgmd,此选项仅影响管理节点对其他管理节点的行为。不要把它和
——nowait-nodes
选择使用ndbd或ndbmtd允许一个集群从少于它的全部数据节点开始;当与数据节点一起使用时,此选项仅影响它们与其他数据节点相关的行为。多个管理节点id可以作为逗号分隔的列表传递给该选项。每个节点ID必须大于等于1且小于等于255。在实践中,为同一个NDB集群使用两台以上的管理服务器(或有必要这样做)是非常罕见的;在大多数情况下,您只需要将不希望在启动集群时使用的一个管理服务器的单个节点ID传递给该选项。
请注意当你以后开始”失踪”管理服务器,其配置必须与集群已经使用的管理服务器的配置相匹配。否则将导致现有管理服务器的配置检查失败,无法启动。
-
命令行格式 ——print-defaults
打印程序参数列表并退出。
-
命令行格式 ——print-full-config
类型 布尔 默认值 假
显示有关集群配置的扩展信息。在命令行上使用此选项ndb_mgmdProcess打印关于集群设置的信息,包括集群配置部分的大量列表以及参数及其值。通常与the连用
——配置文件
(- f
)选项。 -
命令行格式 ——重新加载
类型 布尔 默认值 假
NDB集群配置数据存储在内部,而不是每次管理服务器启动时从集群全局配置文件中读取第23.3.3节“NDB集群配置文件”).使用此选项将强制管理服务器根据集群配置文件检查其内部数据存储,如果发现配置文件与缓存不匹配,则重新加载配置。保留现有的配置缓存文件,但不使用。
这在两个方面不同于
——初始
选择。首先,——初始
导致所有缓存文件被删除。第二,——初始
强制管理服务器重新读取全局配置文件并构造新的缓存。如果管理服务器找不到全局配置文件,则
——重新加载
选择将被忽略。当
——重新加载
使用时,在尝试读取全局配置文件之前,管理服务器必须能够与数据节点和集群中的任何其他管理服务器通信;否则,管理服务器无法正常启动。这可能是由于网络环境的变化造成的,例如节点的新IP地址或更改的防火墙配置。在这种情况下,您必须使用——初始
而是强制丢弃现有的缓存配置,并从文件中重新加载。看到第23.5.5节“NDB集群滚动重启”,以获取更多资料。 -
命令行格式 ——删除(=名字)
特定于平台的 窗户 类型 字符串 默认值 ndb_mgmd
删除已作为Windows服务安装的管理服务器进程,可选地指定要删除的服务的名称。仅适用于Windows平台。
-
命令行格式 ——skip-config-file
类型 布尔 默认值 假
-
命令行格式 ——使用
显示帮助文本并退出;——帮助一样。
-
命令行格式 ——详细
类型 布尔 默认值 假
删除已作为Windows服务安装的管理服务器进程,可选地指定要删除的服务的名称。仅适用于Windows平台。
-
命令行格式 ——版本
显示版本信息并退出。
在启动管理服务器时,没有必要严格指定连接字符串。但是,如果使用多个管理服务器,则应该提供连接字符串,并且集群中的每个节点都应该显式指定其节点ID。
看到第23.3.3.3节“NDB集群连接字符串”,以获取有关使用连接字符串的信息。第23.4.4节,“ndb_mgmd - NDB集群管理服务器守护进程”的其他选项ndb_mgmd.
创建或使用以下文件ndb_mgmd的起始目录中,并放置在DataDir
如《config.ini
配置文件。在下面的列表中,node_id
是唯一节点标识符。
config.ini
是整个集群的配置文件。该文件由用户创建,并由管理服务器读取。第23.3节“新db集群配置”,讨论如何设置此文件。ndb_
是集群事件日志文件。此类事件的例子包括检查点启动和完成、节点启动事件、节点故障和内存使用级别。中可以找到带有描述的集群事件的完整列表第23.5节“新开发银行集群管理”.node_id
_cluster.log默认情况下,当集群日志的大小达到100万字节时,文件将重命名为
ndb_
,在那里node_id
_cluster.log。seq_id
seq_id
集群日志文件的序列号。(例如:如果序列号为1、2和3的文件已经存在,则下一个日志文件将以该序列号命名4
)。方法可以更改文件的大小和数量,以及集群日志的其他特征LogDestination
配置参数。ndb_
文件的用途是什么node_id
_out.logstdout
而且stderr
当管理服务器作为守护进程运行时。ndb_
是作为守护进程运行管理服务器时使用的进程ID文件。node_id
.pid