文档主页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
手册页 (TGZ) - 258.2Kb
手册页 (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 参考手册  /  ...  /  ndbmtd — NDB 集群数据节点守护进程 (多线程)

25.5.3 ndbmtd — NDB 集群数据节点守护进程 (多线程)

ndbmtdndbd 的多线程版本,用于处理使用 NDBCLUSTER 存储引擎的表中的所有数据。 ndbmtd 旨在用于具有多个 CPU 内核的主机计算机。 除非另有说明,否则 ndbmtd 的功能与 ndbd 相同; 因此,在本节中,我们将重点介绍 ndbmtdndbd 的区别,您应该参考 第 25.5.1 节,“ndbd — NDB 集群数据节点守护进程”,以获取有关运行 NDB 集群数据节点的更多信息,这些信息适用于数据节点进程的单线程和多线程版本。

用于 ndbd 的命令行选项和配置参数也适用于 ndbmtd。 有关这些选项和参数的更多信息,请分别参见 第 25.5.1 节,“ndbd — NDB 集群数据节点守护进程”第 25.4.3.6 节,“定义 NDB 集群数据节点”

ndbmtd 也与 ndbd 兼容文件系统。 换句话说,运行 ndbd 的数据节点可以停止,二进制文件被替换为 ndbmtd,然后重新启动,而不会丢失任何数据。(但是,在执行此操作时,您必须确保 MaxNoOfExecutionThreads 在重新启动节点之前设置了适当的值,如果您希望 ndbmtd 以多线程方式运行。)类似地,ndbmtd 二进制文件可以简单地通过停止节点,然后启动 ndbd 来替换 ndbd。 在这两种之间切换时,不需要使用 --initial 启动数据节点二进制文件。

使用 ndbmtd 与使用 ndbd 在两个关键方面有所不同

  1. 因为 ndbmtd 默认以单线程模式运行(即,其行为类似于 ndbd),您必须对其进行配置以使用多个线程。 这可以通过在 config.ini 文件中为 MaxNoOfExecutionThreads 配置参数或 ThreadConfig 配置参数设置适当的值来完成。 使用 MaxNoOfExecutionThreads 更简单,但 ThreadConfig 提供了更大的灵活性。 有关这些配置参数及其用途的更多信息,请参见 多线程配置参数 (ndbmtd)

  2. 跟踪文件是由 ndbmtd 进程中的严重错误生成的,方式与 ndbd 故障生成这些文件的方式略有不同。 这些差异将在接下来的几段中详细讨论。

ndbd 一样,ndbmtd 生成一组日志文件,这些文件放置在由 DataDirconfig.ini 配置文件中指定的目录中。 除跟踪文件外,这些文件以与 ndbd 生成的文件相同的方式生成,并且具有相同的名称。

如果出现严重错误,ndbmtd 会生成跟踪文件,描述错误发生之前的事件。 这些文件位于数据节点的 DataDir 中,可用于 NDB 集群开发和支持团队分析问题。 每个 ndbmtd 线程都会生成一个跟踪文件。 这些文件的名称遵循以下模式

ndb_node_id_trace.log.trace_id_tthread_id,

在此模式中,node_id 代表数据节点在集群中的唯一节点 ID,trace_id 是跟踪序列号,thread_id 是线程 ID。 例如,如果作为具有节点 ID 3 的 NDB 集群数据节点运行的 ndbmtd 进程出现故障,并且 MaxNoOfExecutionThreads 等于 4,则在数据节点的数据目录中生成四个跟踪文件。 如果这是该节点第一次出现故障,则这些文件名为 ndb_3_trace.log.1_t1ndb_3_trace.log.1_t2ndb_3_trace.log.1_t3ndb_3_trace.log.1_t4。 在内部,这些跟踪文件的格式与 ndbd 跟踪文件相同。

ndbd 退出代码和消息在数据节点进程过早关闭时也会由 ndbmtd 生成。 请参见 数据节点错误消息,以获取这些消息的列表。

注意

可以在同一 NDB 集群中的不同数据节点上同时使用 ndbdndbmtd。 但是,此类配置尚未经过广泛测试; 因此,我们目前不建议在生产环境中执行此操作。