10bet网址
MySQL 5.6参考手册
相关的文档10bet官方网站 本手册下载
PDF (Ltr)- 29.4 mb
PDF (A4)- 29.5 mb
手册页(TGZ)- 190.2 kb
手册页(邮政编码)- 305.0 kb
信息(Gzip)- 2.8 mb
信息(邮政编码)- 2.8 mb
本手册节选

18.5.1 ndbd—NDB集群数据节点守护进程

ndbd是使用NDB集群存储引擎处理表中所有数据的进程。这个过程使数据节点能够完成分布式事务处理、节点恢复、指向磁盘的检查点、在线备份和相关任务。

在NDB集群中,一组ndbd进程协同处理数据。这些进程可以在同一台计算机(主机)上执行,也可以在不同的计算机上执行。数据节点和Cluster主机之间的通信是完全可配置的。

可用于。的选项ndbd如下表所示。其他描述见下表。

表18.17 ndbd程序使用的命令行选项

格式 描述 已添加、已弃用或已移除

——bind-address =名字

本地绑定地址

(基于MySQL 5.6的所有NDB版本都支持)

——character-sets-dir =路径

包含字符集的目录

(基于MySQL 5.6的所有NDB版本都支持)

——connect-delay = #

——connect-retry-delay的过时同义词,应该用它来代替这个选项

弃用:NDB 7.4.9

——connect-retries = #

设置在放弃连接之前重试连接的次数;0表示只有1次尝试(没有重试);-1表示无限地继续重试

(基于MySQL 5.6的所有NDB版本都支持)

——connect-retry-delay = #

- r #

两次尝试联系管理服务器之间的等待时间,单位为秒;0表示在两次尝试之间不等待

补充:NDB 7.4.9

——连接字符串= connection_string

- c connection_string

——ndb-connectstring一样

(基于MySQL 5.6的所有NDB版本都支持)

——核心文件

写入核心文件出错;用于调试

(基于MySQL 5.6的所有NDB版本都支持)

——守护进程

- d

启动ndbd作为守护进程(默认);覆盖,nodaemon

(基于MySQL 5.6的所有NDB版本都支持)

——defaults-extra-file =路径

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

(基于MySQL 5.6的所有NDB版本都支持)

——defaults-file =路径

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

(基于MySQL 5.6的所有NDB版本都支持)

——defaults-group-suffix =字符串

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

(基于MySQL 5.6的所有NDB版本都支持)

——前台

在前台运行ndbd,用于调试目的(隐含——nodaemon)

(基于MySQL 5.6的所有NDB版本都支持)

——帮助

-?

显示帮助文本并退出

(基于MySQL 5.6的所有NDB版本都支持)

——初始

执行ndbd的初始启动,包括文件系统清理;在使用此选项之前10bet官方网站,请参阅文档

(基于MySQL 5.6的所有NDB版本都支持)

——初始起动

执行部分初始启动(需要——nowait-nodes)

(基于MySQL 5.6的所有NDB版本都支持)

——安装(=名字)

用于将数据节点进程作为Windows服务安装;是否适用于其他平台

(基于MySQL 5.6的所有NDB版本都支持)

——登录路径=路径

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

(基于MySQL 5.6的所有NDB版本都支持)

——ndb-connectstring = connection_string

- c connection_string

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

(基于MySQL 5.6的所有NDB版本都支持)

——ndb-mgmd-host = connection_string

- c connection_string

——ndb-connectstring一样

(基于MySQL 5.6的所有NDB版本都支持)

——ndb-nodeid = #

设置此节点的节点ID,覆盖由——db-connectstring设置的任何ID

(基于MySQL 5.6的所有NDB版本都支持)

——nodaemon

不要启动ndbd作为守护进程;供测试之用

(基于MySQL 5.6的所有NDB版本都支持)

——已

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

(基于MySQL 5.6的所有NDB版本都支持)

——nostart

- n

不要立即启动ndbd;NDBD等待命令从ndb_mgm启动

(基于MySQL 5.6的所有NDB版本都支持)

——nowait-nodes =列表

不要等待这些数据节点启动(接受以逗号分隔的节点id列表);要求——ndb-nodeid

(基于MySQL 5.6的所有NDB版本都支持)

——ndb-optimized-node-selection

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

(基于MySQL 5.6的所有NDB版本都支持)

——print-defaults

打印程序参数列表并退出

(基于MySQL 5.6的所有NDB版本都支持)

——删除(=名字)

用于删除以前作为Windows服务安装的数据节点进程;是否适用于其他平台

(基于MySQL 5.6的所有NDB版本都支持)

——使用

-?

显示帮助文本并退出;一样,帮助

(基于MySQL 5.6的所有NDB版本都支持)

——详细

- v

向节点日志中写入额外的调试信息

(基于MySQL 5.6的所有NDB版本都支持)

——版本

- v

显示版本信息并退出

(基于MySQL 5.6的所有NDB版本都支持)


请注意

所有这些选项也适用于此程序的多线程版本(ndbmtd),你可以代替ndbmtdndbd无论本节中出现后一种情况。

  • ——bind-address

    命令行格式 ——bind-address =名字
    类型 字符串
    默认值

    原因ndbd绑定到特定的网络接口(主机名或IP地址)。该选项没有默认值。

  • ——character-sets-dir

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

    包含字符集的目录。

  • ——connect-delay =

    命令行格式 ——connect-delay = #
    弃用 5.6.28-ndb-7.4.9
    类型 数字
    默认值 5
    最小值 0
    最大值 3600

    确定在启动时两次尝试联系管理服务器之间的等待时间(尝试的次数由——connect-retries选项)。缺省值是5秒。

    此选项在NDB 7.4.9中已弃用,在未来的NDB Cluster版本中会被删除。使用——connect-retry-delay代替。

  • ——connect-retries =

    命令行格式 ——connect-retries = #
    类型 数字
    默认值 12
    最小值 0
    最大值 65535

    设置在放弃连接之前重试连接的次数;0表示只有1次尝试(没有重试)。默认为12次。控件控制两次尝试之间的等待时间——connect-retry-delay选项在MySQL NDB 7.4.9和更高版本(以前,这是——connect-delay).

  • ——连接字符串

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

    一样——ndb-connectstring

  • ——connect-retry-delay =

    命令行格式 ——connect-retry-delay = #
    介绍了 5.6.28-ndb-7.4.9
    类型 数字
    默认值 5
    最小值 0
    最大值 4294967295

    确定在启动时尝试联系管理服务器的间隔等待时间(间隔时间由控件控制——connect-retries选项)。缺省值是5秒。

    该选项是在NDB 7.4.9中添加的,目的是取代——connect-delay选项,现在已弃用,并将在未来的NDB Cluster版本中删除。

  • ——核心文件

    命令行格式 ——核心文件

    写入核心文件出错;用于调试。

  • ——守护进程- d

    命令行格式 ——守护进程

    指示ndbdndbmtd作为守护进程执行。这是默认行为。——nodaemon可用于阻止进程作为守护进程运行。

    这个选项在运行时没有效果ndbdndbmtd在Windows平台上。

  • ——defaults-extra-file

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

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

  • ——defaults-file

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

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

  • ——defaults-group-suffix

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

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

  • ——前台

    命令行格式 ——前台

    原因ndbdndbmtd作为前台进程执行,主要用于调试目的。此选项意味着——nodaemon选择。

    这个选项在运行时没有效果ndbdndbmtd在Windows平台上。

  • ——帮助

    命令行格式 ——帮助

    显示帮助文本并退出。

  • ——初始

    命令行格式 ——初始

    指示ndbd执行初始启动。的早期实例为恢复目的创建的任何文件将被初始启动擦除ndbd.它还重新创建恢复日志文件。在某些操作系统上,这个过程可能需要相当长的时间。

    一个——初始将使用Start只有当启动ndbd过程:在非常特殊情况下的过程;这是因为该选项将导致从NDB集群文件系统中删除所有文件,并重新创建所有重做日志文件。下面列出了这些情况:

    • 当执行软件升级时,更改了任何文件的内容。

    • 的新版本重新启动节点时ndbd

    • 当由于某种原因,节点重启或系统重启反复失败时,作为最后的手段。在这种情况下,请注意,由于数据文件被破坏,该节点不能再用于恢复数据。

    警告

    为避免数据最终丢失的可能性,建议您使用——初始选择在一起StopOnError = 0.相反,设置StopOnError为0的config.ini只有在集群启动之后,才能正常重启数据节点—也就是说,不需要——初始选择。的描述StopOnError参数获取此问题的详细解释。(错误# 24945638)

    使用此选项可防止StartPartialTimeout而且StartPartitionedTimeout配置参数不具有任何效果。

    重要的

    这个选项是影响以下文件类型:

    如果数据节点刚刚从已经在运行的数据节点启动(或重新启动),则此选项对数据节点恢复数据也没有影响。在正常运行的NDB集群中,数据的恢复是自动进行的,不需要用户干预。

    允许在第一次启动集群(即在创建任何数据节点文件之前)时使用此选项;然而,它是这样做是必要的。

  • ——初始起动

    命令行格式 ——初始起动

    当执行集群的部分初始启动时,使用此选项。每个节点都应该以此选项启动,以及——nowait-nodes

    假设您有一个4节点的集群,其数据节点的id为2、3、4和5,并且您希望只使用节点2、4和5执行部分初始启动,即忽略节点3:

    $> NDBD——ndb-nodeid=2——nowait-nodes=3——initial-start $> NDBD——ndb-nodeid=4——nowait-nodes=3——initial-start $> NDBD——ndb-nodeid=5——nowait-nodes=3——initial-start

    方法启动的数据节点的节点ID——ndb-nodeid选择。

    重要的

    不要将此选项与——nowait-nodes选择ndb_mgmd,它可用于启动配置了多个管理服务器的集群,而不需要所有管理服务器都在线。

  • ——安装(=的名字

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

    原因ndbd安装为Windows服务。您可以选择为服务指定一个名称;如果未设置,则服务名默认为ndbd.尽管最好指定otherndbd的程序选项my.inimy.cnf配置文件,是可以一起使用的——安装.然而,在这种情况下——安装选项必须在给出任何其他选项之前首先指定,以便Windows服务安装成功。

    通常不建议将此选项与——初始选项,因为这将导致在每次停止和启动服务时清除并重新构建数据节点文件系统。如果你打算使用其他任何一种,也应该特别小心ndbd影响数据节点开始的选项——包括——初始起动——nostart,——nowait-nodes同一个与——安装,你应该绝对确定你完全理解并考虑到这样做可能产生的任何后果。

    ——安装选项在非windows平台上不起作用。

  • ——登录路径

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

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

  • ——ndb-connectstring

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

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

  • ——ndb-mgmd-host

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

    一样——ndb-connectstring

  • ——ndb-nodeid

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

    设置此节点的节点ID,覆盖由——ndb-connectstring

  • ——ndb-optimized-node-selection

    命令行格式 ——ndb-optimized-node-selection

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

  • ——nodaemon

    命令行格式 ——nodaemon

    防止ndbdndbmtd从作为守护进程执行。选项将覆盖——守护进程选择。这对于在调试二进制文件时将输出重定向到屏幕很有用。

    的默认行为ndbd而且ndbmtdon Windows是在前台运行,这使得该选项在Windows平台上不必要,在那里它没有效果。

  • ——已

    命令行格式 ——已

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

  • ——nostart- n

    命令行格式 ——nostart

    指示ndbd不要自动启动。当使用此选项时,ndbd连接管理服务器,从管理服务器获取配置数据,并初始化通信对象。但是,直到管理服务器特别请求它才真正启动执行引擎。这可以通过签发适当的开始命令(参见第18.6.1节“NDB集群管理客户端命令”).

  • ——nowait-nodes =node_id_1[,node_id_2[…]]

    命令行格式 ——nowait-nodes =列表
    类型 字符串
    默认值

    此选项接受一个数据节点列表,集群在启动前不等待这些数据节点。

    这可用于在分区状态下启动集群。例如,要启动一个只有一半数据节点(节点2、3、4和5)运行在4节点集群中的集群,可以启动每个节点ndbd过程——nowait-nodes = 3, 5.在这种情况下,集群在节点2和4连接时立即启动,并且确实如此等待StartPartitionedTimeout节点3和5以毫秒的速度连接起来。

    如果您想要启动与上一个示例中相同的集群,而不需要它ndbd(例如,节点3的主机发生了硬件故障),然后用——nowait-nodes = 3.当节点2、4和5连接时,集群立即启动,而不等待节点3启动。

  • ——print-defaults

    命令行格式 ——print-defaults

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

  • ——删除(=的名字

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

    导致一个ndbd该进程以前被安装为要删除的Windows服务。您还可以指定要卸载的服务的名称;如果未设置,则服务名默认为ndbd

    ——删除选项在非windows平台上不起作用。

  • ——使用

    命令行格式 ——使用

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

  • ——详细- v

    导致额外的调试输出写入节点日志。

  • ——版本

    命令行格式 ——版本

    显示版本信息并退出。

ndbd所指定的目录中生成一组日志文件DataDirconfig.ini配置文件。

下面列出了这些日志文件。node_id是并表示节点的唯一标识符。例如,ndb_2_error.log是节点ID为的数据节点的错误日志2

  • ndb_node_id_error.log文件是否包含引用的所有崩溃的记录ndbd过程遇到了。此文件中的每个记录都包含一个简短的错误字符串和对此崩溃的跟踪文件的引用。该文件中的一个典型条目可能如下所示:

    日期/时间:2004年7月30日- 00:20:01错误类型:错误消息:内部程序错误(failed ndbrequire)故障ID: 2341问题数据:DbtupFixAlloc.cpp参考对象:DBTUP(行:173)ProgramName: NDB Kernel ProcessID: 14909 TraceFile: ndb_2_trace.log。2 * * * * * *加工

    上市的可能ndbd中可以找到数据节点进程过早关闭时生成的退出代码和消息数据节点错误消息

    重要的

    错误日志文件中的最后一个条目不一定是最新的(也不太可能)。错误日志中的条目是按时间顺序列出的;方法中确定的跟踪文件的顺序与之对应ndb_node_id_trace.log.next文件(见下文)。因此,错误日志条目以循环的而不是顺序的方式被覆盖。

  • ndb_node_id_trace.log。trace_id是一个跟踪文件,详细描述错误发生之前发生的事情。这些信息对NDB集群开发团队的分析很有用。

    可以配置在覆盖旧文件之前创建的这些跟踪文件的数量。trace_id为每个后续跟踪文件递增的数字。

  • ndb_node_id_trace.log.next是跟踪下一个要分配的跟踪文件号的文件。

  • ndb_node_id_out.log控件输出的任何数据是否包含在文件中ndbd的过程。此文件仅在ndbd作为守护进程启动,这是默认行为。

  • ndb_node_id.pid是包含进程ID的ndbd作为守护进程启动时处理。它还充当一个锁文件,以避免节点的开头具有相同的标识符。

  • ndb_node_id_signal.log的调试版本中是否只使用该文件ndbd的数据中,可以跟踪所有传入、传出和内部消息及其数据ndbd的过程。

建议不要使用通过NFS挂载的目录,因为在某些环境中,这会导致锁在.pid即使进程已终止,文件仍然有效。

开始ndbd,可能还需要指定管理服务器的主机名及其监听的端口。还可以指定进程要使用的节点ID。

$ > ndbd——连接字符串= " nodeid = 2;主机= ndb_mgmd.mysql.10bet靠谱com: 1186”

看到第18.4.3.3节“NDB集群连接字符串”,以获取有关此问题的更多信息。有关数据节点配置参数的详细信息,请参见第18.4.3.6节“定义NDB集群数据节点”

ndbd它实际上启动了两个进程。第一个叫做天使的过程;它的唯一工作是发现执行过程何时完成,然后重新启动ndbd处理(如果配置为这样做)。因此,如果你想杀人ndbd使用Unix杀了命令时,必须从天使进程开始杀死两个进程。终止的首选方法ndbd流程是使用管理客户端并从那里停止流程。

执行过程使用一个线程来读取、写入和扫描数据,以及所有其他活动。该线程是异步实现的,因此它可以轻松处理数千个并发操作。此外,看门狗线程监视执行线程,以确保它不会挂起在一个无休止的循环中。线程池处理文件I/O,每个线程能够处理一个打开的文件。中的传输器还可以将线程用于传输器连接ndbd的过程。在执行大量操作(包括更新)的多处理器系统中ndbd如果允许,进程最多可以消耗2个cpu。

对于具有多个cpu的机器,可以使用多个cpundbd属于不同节点组的进程;然而,这样的配置仍然被认为是实验性的,在生产设置中MySQL 5.6不支持。看到第18.2.7节“NDB集群的已知局限性”