10bet网址
MySQL 5.6参考手册
相关的文档10bet官方网站 本手册下载 本手册节选

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

18.4.3 NDB集群数据节点守护进程(多线程)

ndbmtd的多线程版本ndbd方法处理表中的所有数据的过程NDBCLUSTER存储引擎。ndbmtd适用于拥有多个CPU核心的主机。除另有注明外,ndbmtd函数的方式与ndbd;因此,在本节中,我们将集中讨论ndbmtd不同于ndbd,你应该去咨询第18.4.1节," ndbd - NDB集群数据节点守护进程",获取更多关于运行适用于单线程和多线程版本的数据节点的NDB集群数据节点的信息。

使用的命令行选项和配置参数ndbd也适用于ndbmtd.有关这些选项和参数的详细信息,请参见第18.4.1节," ndbd - NDB集群数据节点守护进程",第18.3.3.6节,"定义NDB集群数据节点",分别。

ndbmtd文件系统是否兼容ndbd.换句话说,一个数据节点正在运行ndbd可以停止,二进制代替吗ndbmtd,然后重新启动,没有任何数据丢失。(然而,当这样做的时候,你必须确保MaxNoOfExecutionThreads是否在重新启动节点之前设置为适当的值ndbmtd以多线程的方式运行。)同样,一个ndbmtd二进制可以用ndbd只需停止节点,然后启动即可ndbd而不是多线程二进制文件。在两者之间切换时不需要启动数据节点二进制使用——初始

使用ndbmtd不同于使用ndbd在两个关键方面:

  1. 因为ndbmtd默认情况下以单线程模式运行(即,它的行为类似于ndbd)时,必须将其配置为使用多个线程。控件中设置适当的值可以做到这一点config.ini文件MaxNoOfExecutionThreads配置参数或ThreadConfig配置参数。使用MaxNoOfExecutionThreads是简单的,但ThreadConfig提供了更多的灵活性。有关这些配置参数及其使用的更多信息,请参见多线程配置参数(ndbmtd)

  2. 中的重大错误生成跟踪文件ndbmtd进程的方式与生成这些的方式有些不同ndbd失败。这些差异将在接下来的几段中进行更详细的讨论。

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

如果出现重大错误,ndbmtd生成跟踪文件,描述在错误发生之前发生了什么。这些文件可以在数据节点的DataDir,对于NDB集群开发和支持团队分析问题很有用。每个跟踪文件都会生成一个跟踪文件ndbmtd线程。这些文件的名称有以下模式:

ndb_node_id_trace.log。trace_id_tthread_id

在此模式中,node_id表示数据节点在集群中的唯一节点ID,trace_id是跟踪序列号,和thread_id是线程ID。例如,在一个ndbmtd进程作为NDB集群数据节点运行,节点ID为3和withMaxNoOfExecutionThreads等于4,在数据节点的数据目录中生成四个跟踪文件。如果这是该节点第一次失败,那么将命名这些文件ndb_3_trace.log.1_t1ndb_3_trace.log.1_t2ndb_3_trace.log.1_t3,ndb_3_trace.log.1_t4.在内部,这些跟踪文件遵循相同的格式ndbd跟踪文件。

ndbd在数据节点进程过早关闭时生成的退出码和消息也被使用ndbmtd.看到数据节点错误信息的列表。

请注意

它是可以使用的ndbd而且ndbmtd在同一个NDB集群中的不同数据节点上并发。然而,这样的配置还没有经过广泛的测试;因此,我们目前不建议在生产环境中这样做。