10bet网址
MySQL NDB集群8.0
相关的文档10bet官方网站 下载此节选

MySQL NDB集群8.0/NDB集群程序/ ndb_mgmd - NDB集群管理服务器守护进程

5.4 ndb_mgmd—NDB集群管理服务器守护进程

管理服务器是一个进程,它读取集群配置文件,并将该信息分发给集群中请求该信息的所有节点。它还维护集群活动的日志。管理客户端可以连接到管理服务器,检查集群的状态。

可以使用的所有选项ndb_mgmd如下表所示。其他描述见下表。

表5.3 ndb_mgmd程序使用的命令行选项

格式 描述 添加、弃用或删除

——bind-address =主机

本地绑定地址

(所有基于MySQL 8.0的NDB版本均支持)

——character-sets-dir =路径

包含字符集的目录

删除:8.0.31

——cluster-config-suffix =名字

在my.cnf文件中读取cluster_config节时覆盖默认组后缀;用于测试

新增:NDB 8.0.24

——config-cache(=真|假)

启用管理服务器配置缓存;默认为True

(所有基于MySQL 8.0的NDB版本均支持)

——配置文件=文件,

- f文件

指定集群配置文件;如果存在配置缓存,还要指定——reload或——initial来覆盖配置缓存

(所有基于MySQL 8.0的NDB版本均支持)

——configdir =目录,

——config-dir =目录

指定集群管理服务器配置缓存目录

(所有基于MySQL 8.0的NDB版本均支持)

——connect-retries = #

在放弃连接之前重试连接的次数

删除:8.0.31

——connect-retry-delay = #

尝试联系管理服务器之间等待的秒数

删除:8.0.31

——连接字符串= connection_string,

- c connection_string

与——ndb-connectstring相同

(所有基于MySQL 8.0的NDB版本均支持)

——核心文件

写入内核文件错误;用于调试

删除:8.0.31

——守护进程,

- d

在守护模式下运行ndb_mgmd(默认)

(所有基于MySQL 8.0的NDB版本均支持)

——defaults-extra-file =路径

读取全局文件后读取给定文件

(所有基于MySQL 8.0的NDB版本均支持)

——defaults-file =路径

仅从给定文件读取默认选项

(所有基于MySQL 8.0的NDB版本均支持)

——defaults-group-suffix =字符串

也可以用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版本均支持)

——mycnf

从my.cnf文件读取集群配置数据

(所有基于MySQL 8.0的NDB版本均支持)

——ndb-connectstring = connection_string,

- c connection_string

设置连接ndb_mgmd的连接字符串。语法:“[nodeid = id;][主机=]主机名(港口):”。覆盖NDB_CONNECTSTRING和my.cnf中的条目

(所有基于MySQL 8.0的NDB版本均支持)

——ndb-mgmd-host = connection_string,

- c connection_string

与——ndb-connectstring相同

(所有基于MySQL 8.0的NDB版本均支持)

——ndb-nodeid = #

为该节点设置节点ID,覆盖由——ndb-connectstring设置的任何ID

(所有基于MySQL 8.0的NDB版本均支持)

——ndb-optimized-node-selection

为事务的节点选择启用优化。默认启用;使用——skip-ndb-optimized-node-selection禁用

删除:8.0.31

——已

不读取默认选项从任何选项文件除了登录文件

(所有基于MySQL 8.0的NDB版本均支持)

——no-nodeid-checks

不检查节点ID

(所有基于MySQL 8.0的NDB版本均支持)

——nodaemon

不运行ndb_mgmd作为守护进程

(所有基于MySQL 8.0的NDB版本均支持)

——nowait-nodes =列表

不要等待启动此管理服务器时指定的管理节点;需要——ndb-nodeid选项

(所有基于MySQL 8.0的NDB版本均支持)

——print-defaults

打印程序参数列表并退出

(所有基于MySQL 8.0的NDB版本均支持)

——print-full-config,

- p

打印完整配置并退出

(所有基于MySQL 8.0的NDB版本均支持)

——重新加载

导致管理服务器将配置文件与配置缓存进行比较

(所有基于MySQL 8.0的NDB版本均支持)

——删除(=名字)

用于删除之前作为Windows服务安装的管理服务器进程,可选择指定要删除的服务名称;不适用于其他平台

(所有基于MySQL 8.0的NDB版本均支持)

——使用,

-?

显示帮助文本并退出;和——help一样

(所有基于MySQL 8.0的NDB版本均支持)

——skip-config-file

不使用配置文件

(所有基于MySQL 8.0的NDB版本均支持)

——详细,

- v

将附加信息写入日志

(所有基于MySQL 8.0的NDB版本均支持)

——版本,

- v

显示版本信息并退出

(所有基于MySQL 8.0的NDB版本均支持)


  • ——bind-address =宿主

    命令行格式 ——bind-address =主机
    类型 字符串
    默认值 (没有)

    使管理服务器绑定到特定的网络接口(主机名或IP地址)。该选项没有默认值。

  • ——character-sets-dir

    命令行格式 ——character-sets-dir =路径
    删除 8.0.31

    包含字符集的目录。

  • cluster-config-suffix

    命令行格式 ——cluster-config-suffix =名字
    介绍了 8.0.24-ndb-8.0.24
    类型 字符串
    默认值 (没有)

    读取集群配置节时覆盖默认组后缀my.cnf;用于测试。

  • ——config-cache

    命令行格式 ——config-cache(=真|假)
    类型 布尔
    默认值 真正的

    该选项的默认值为1(或真正的,或),可以用来禁用管理服务器的配置缓存,以便它从config.ini每次它开始(见章节4.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)

  • ——配置文件=文件名,- f文件名

    命令行格式 ——配置文件=文件
    残疾的 skip-config-file
    类型 文件名称
    默认值 (没有)

    指示管理服务器应该使用哪个文件作为其配置文件。默认情况下,管理服务器查找一个名为config.ini的目录下ndb_mgmd可执行;否则,必须显式地指定文件名和位置。

    该选项没有默认值,除非管理服务器被迫读取配置文件,否则将被忽略ndb_mgmd是由——重新加载——初始选项,或者是因为管理服务器找不到任何配置缓存。从NDB 8.0.26开始,ndb_mgmd拒绝开始——配置文件没有指定——初始——重新加载

    ——配置文件选项也读取ifndb_mgmd是由——config-cache =了.看到章节4.3,“NDB集群配置文件”,以获取更多资料。

  • ——configdir =dir_name

    命令行格式

    ——configdir =目录

    ——config-dir =目录

    类型 文件名称
    默认值 $ INSTALLDIR / mysql-cluster

    指定集群管理服务器的配置缓存目录。——config-dir此选项的别名。

    在NDB 8.0.27及以后版本中,这必须是一个绝对路径。否则,管理服务器将拒绝启动。

  • ——connect-retries

    命令行格式 ——connect-retries = #
    删除 8.0.31
    类型 整数
    默认值 12
    最小值 0
    最大值 12

    在放弃连接之前重试连接的次数。

  • ——connect-retry-delay

    命令行格式 ——connect-retry-delay = #
    删除 8.0.31
    类型 整数
    默认值 5
    最小值 0
    最大值 5

    尝试联系管理服务器之间等待的秒数。

  • ——连接字符串

    命令行格式 ——连接字符串= connection_string
    类型 字符串
    默认值 (没有)

    与——ndb-connectstring相同。

  • ——核心文件

    命令行格式 ——核心文件
    删除 8.0.31

    写入内核文件错误;用于调试。

  • ——守护进程,- d

    命令行格式 ——守护进程

    指示ndb_mgmd作为一个守护进程启动。这是默认行为。

    此选项在运行时不起作用ndb_mgmd在Windows平台上。

  • ——defaults-extra-file

    命令行格式 ——defaults-extra-file =路径
    类型 字符串
    默认值 (没有)

    读取全局文件后读取给定文件。

  • ——defaults-file

    命令行格式 ——defaults-file =路径
    类型 字符串
    默认值 (没有)

    仅从给定文件读取默认选项。

  • ——defaults-group-suffix

    命令行格式 ——defaults-group-suffix =字符串
    类型 字符串
    默认值 (没有)

    也可以用concat(group,后缀)读取组。

  • ——帮助

    命令行格式 ——帮助

    显示帮助文本并退出。

  • ——初始

    命令行格式 ——初始

    配置数据在内部缓存,而不是每次管理服务器启动时从集群全局配置文件中读取(请参阅章节4.3,“NDB集群配置文件”).使用——初始选项将覆盖此行为,强制管理服务器删除任何现有缓存文件,然后从集群配置文件中重新读取配置数据并构建新的缓存。

    这在两个方面不同于——重新加载选择。首先,——重新加载强制服务器根据缓存检查配置文件,并仅在文件内容与缓存不同时重新加载其数据。第二,——重新加载不删除任何现有的缓存文件。

    如果ndb_mgmd使用——初始但是找不到全局配置文件,管理服务器无法启动。

    当一个管理服务器启动时,它会检查同一NDB集群中的另一个管理服务器,并尝试使用另一个管理服务器的配置数据。当对一个有多个管理节点的NDB集群执行滚动重启时,此行为会产生影响。看到章节6.5“NDB集群滚动重启”,以获取更多资料。

    当与the一起使用时——配置文件选项,则仅在实际找到配置文件时才清除缓存。

  • ——安装(=的名字

    命令行格式 ——安装(=名字)
    特定于平台的 窗户
    类型 字符串
    默认值 ndb_mgmd

    原因ndb_mgmd安装为Windows服务。您可以选择为服务指定一个名称;如果不设置,服务名默认为ndb_mgmd.尽管最好是指定otherndb_mgmd中的程序选项my.inimy.cnf配置文件,可以将它们一起使用——安装.然而,在这种情况下,——安装为了使Windows服务安装成功,必须先指定option,然后再指定其他选项。

    方法与此选项一起使用通常是不可取的——初始选项,因为这将导致在每次服务停止和启动时擦除和重新构建配置缓存。如果您打算使用任何其他方法,也应小心ndb_mgmd选项,这些选项会影响管理服务器的启动,您应该绝对确保完全理解并考虑到这样做的任何可能的后果。

    ——安装选项在非windows平台上无效。

  • ——互动

    命令行格式 ——互动

    开始ndb_mgmd交互模式;也就是ndb_mgm客户端会话在管理服务器运行时立即启动。此选项不会启动任何其他NDB集群节点。

  • ——日志名称=的名字

    命令行格式 ——日志名称=名字
    类型 字符串
    默认值 MgmtSrvr

    提供群集日志中用于此节点的名称。

  • ——登录路径

    命令行格式 ——登录路径=路径
    类型 字符串
    默认值 (没有)

    从登录文件读取给定路径。

  • ——mycnf

    命令行格式 ——mycnf

    中读取配置数据my.cnf文件。

  • ——ndb-connectstring

    命令行格式 ——ndb-connectstring = connection_string
    类型 字符串
    默认值 (没有)

    设置连接字符串。语法:[nodeid =id;][主机=]主机名[:港口.覆盖NDB_CONNECTSTRING而且my.cnf.忽略了如果——配置文件指定;从NDB 8.0.27开始,当两个选项都使用时,会发出警告。

  • ——ndb-mgmd-host

    命令行格式 ——ndb-mgmd-host = connection_string
    类型 字符串
    默认值 (没有)

    与——ndb-connectstring相同。

  • ——ndb-nodeid

    命令行格式 ——ndb-nodeid = #
    类型 整数
    默认值 (没有)

    为该节点设置节点ID,覆盖由——ndb-connectstring设置的任何ID。

  • ——ndb-optimized-node-selection

    命令行格式 ——ndb-optimized-node-selection
    删除 8.0.31

    为事务的节点选择启用优化。默认启用;使用——skip-ndb-optimized-node-selection禁用。

  • ——no-nodeid-checks

    命令行格式 ——no-nodeid-checks

    请勿检查节点id。

  • ——nodaemon

    命令行格式 ——nodaemon

    指示ndb_mgmd不要以守护进程启动。

    的默认行为ndb_mgmd在Windows上是在前台运行,使得这个选项在Windows平台上是不必要的。

  • ——已

    命令行格式 ——已

    不要从除登录文件外的任何选项文件中读取默认选项。

  • ——nowait-nodes

    命令行格式 ——nowait-nodes =列表
    类型 数字
    默认值 (没有)
    最小值 1
    最大值 255

    当启动一个配置了两个管理节点的NDB集群时,每个管理服务器通常会检查另一个是否正常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)使用命令行输入以下命令:

    $> ndb_mgmd——ndb-nodeid=10——nowait-nodes=11

    如前面的例子所示,使用时——nowait-nodes,你也必须使用——ndb-nodeid选项指定该节点的节点IDndb_mgmd的过程。

    然后,您可以以通常的方式启动集群的每个数据节点。如果您希望在不重新启动数据节点的情况下启动和使用第一个管理服务器之外的第二个管理服务器,则必须使用引用两个管理服务器的连接字符串启动每个数据节点,如下所示:

    $> NDBD -c 198.51.100.150,198.51.100.151

    对于any使用的连接字符串也是如此mysqld作为NDB集群启动的SQL节点连接到此集群。看到章节4.3.3,“NDB集群连接字符串”,以获取更多资料。

    与连用时ndb_mgmd,此选项仅影响管理节点与其他管理节点的行为。不要把它和——nowait-nodes选项与ndbdndbmtd允许一个集群开始时的数据节点数少于它的完整补充数;当与数据节点一起使用时,此选项仅影响其与其他数据节点相关的行为。

    可以将多个管理节点id作为逗号分隔的列表传递给该选项。每个节点ID必须不小于1且不大于255。在实践中,对于同一个NDB集群使用两个以上的管理服务器是非常罕见的(或者有这样做的需要);在大多数情况下,您只需将您不希望在启动集群时使用的一个管理服务器的单个节点ID传递给该选项。

    请注意

    当你之后开始失踪管理服务器,其配置必须与集群已经在使用的管理服务器的配置相匹配。否则,当前管理服务器的配置检查失败,无法启动。

  • ——print-defaults

    命令行格式 ——print-defaults

    打印程序参数列表并退出。

  • ——print-full-config,- p

    命令行格式 ——print-full-config

    显示有关群集配置的扩展信息。使用命令行上的此选项ndb_mgmd进程打印关于集群设置的信息,包括集群配置部分的广泛列表以及参数及其值。通常与the连用——配置文件(- f)选项。

  • ——重新加载

    命令行格式 ——重新加载

    NDB集群配置数据存储在内部,而不是每次管理服务器启动时从集群全局配置文件中读取章节4.3,“NDB集群配置文件”).使用此选项将强制管理服务器根据集群配置文件检查其内部数据存储,并在发现配置文件与缓存不匹配时重新加载配置。保留现有的配置缓存文件,但不使用。

    这在两个方面不同于——初始选择。首先,——初始删除所有缓存文件。第二,——初始强制管理服务器重新读取全局配置文件并构造一个新的缓存。

    如果管理服务器找不到全局配置文件,则——重新加载选项被忽略。

    ——重新加载使用时,管理服务器在尝试读取全局配置文件之前必须能够与数据节点和集群中的任何其他管理服务器通信;否则,管理服务器无法正常启动。这可能是由于网络环境的变化造成的,例如节点的新IP地址或更改的防火墙配置。在这种情况下,您必须使用——初始而是强制丢弃现有的缓存配置,并从文件中重新加载。看到章节6.5“NDB集群滚动重启”,以获取更多资料。

  • ——删除(=名字)

    命令行格式 ——删除(=名字)
    特定于平台的 窗户
    类型 字符串
    默认值 ndb_mgmd

    删除已作为Windows服务安装的管理服务器进程,可选择指定要删除的服务的名称。仅适用于Windows平台。

  • ——skip-config-file

    命令行格式 ——skip-config-file

    不读取集群配置文件;忽略——初始而且——重新加载选项(如果指定)。

  • ——使用

    命令行格式 ——使用

    显示帮助文本并退出;和救命一样。

  • ——详细,- v

    命令行格式 ——详细

    删除已作为Windows服务安装的管理服务器进程,可选择指定要删除的服务的名称。仅适用于Windows平台。

  • ——版本

    命令行格式 ——版本

    显示版本信息并退出。

在启动管理服务器时,没有必要严格指定连接字符串。但是,如果您使用多个管理服务器,则应该提供一个连接字符串,并且集群中的每个节点应该显式地指定其节点ID。

看到章节4.3.3,“NDB集群连接字符串”,以获取有关使用连接字符串的信息。章节5.4,“ndb_mgmd - NDB集群管理服务器守护进程”的其他选项ndb_mgmd

创建或使用以下文件ndb_mgmd的起始目录中,并放置在DataDir详见config.ini配置文件。在下面的列表中,node_id是唯一节点标识符。

  • config.ini是整个集群的配置文件。该文件由用户创建,并由管理服务器读取。第四章,NDB集群配置,讨论如何设置此文件。

  • ndb_node_id_cluster.log是集群事件日志文件。此类事件的示例包括检查点启动和完成、节点启动事件、节点故障和内存使用级别。中可以找到带有描述的集群事件的完整列表第六章,NDB集群管理

    默认情况下,当集群日志的大小达到一百万字节时,文件将重命名为ndb_node_id_cluster.log。seq_id,在那里seq_id集群日志文件的序列号。(例如:如果已经存在序号为1、2、3的文件,则下一个日志文件将使用序号1、2、3命名4)。属性可以更改文件的大小和数量,以及集群日志的其他特征LogDestination配置参数。

  • ndb_node_id_out.log这个文件是用来做什么的stdout而且stderr当管理服务器作为守护进程运行时。

  • ndb_node_id.pid是作为守护进程运行管理服务器时使用的进程ID文件。