文档首页
MySQL 8.4 参考手册
相关文档 下载本手册
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
手册页 (TGZ) - 258.5Kb
手册页 (Zip) - 365.5Kb
信息 (Gzip) - 4.0Mb
信息 (Zip) - 4.0Mb


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

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

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

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

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

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

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

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

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

发生严重错误时,ndbmtd 会生成跟踪文件,描述发生错误之前的事件。 这些文件可以在数据节点的 DataDir 中找到,可用于 NDB Cluster 开发和支持团队分析问题。 每个 ndbmtd 线程都会生成一个跟踪文件。 这些文件的名称具有以下模式

ndb_node_id_trace.log.trace_id_tthread_id,

在此模式中,node_id 代表集群中数据节点的唯一节点 ID,trace_id 是跟踪序列号,thread_id 是线程 ID。 例如,如果运行为 NDB Cluster 数据节点(节点 ID 为 3,MaxNoOfExecutionThreads 等于 4)的 ndbmtd 进程出现故障,则会在数据节点的数据目录中生成四个跟踪文件。 如果这是该节点第一次出现故障,则这些文件的名称分别为 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 Cluster 中的不同数据节点上同时使用 ndbdndbmtd。 但是,此类配置尚未经过广泛测试;因此,我们目前不建议在生产环境中这样做。