ndbmtd的多线程版本ndbd类处理表中的所有数据的过程NDBCLUSTER
存储引擎。ndbmtd适用于具有多个CPU内核的主机上。除非另有说明,ndbmtd功能与ndbd;因此,在这一节中,我们将集中讨论ndbmtd不同于ndbd,你应该咨询一下第21.4.1节,“ndbd - NDB集群数据节点守护进程”,以获取有关运行NDB集群数据节点的附加信息,这些数据节点应用于数据节点进程的单线程和多线程版本。
的命令行选项和配置参数ndbd也适用于ndbmtd.有关这些选项和参数的详细信息,请参见第21.4.1节,“ndbd - NDB集群数据节点守护进程”,第21.3.3.6节“定义NDB集群数据节点”,分别。
ndbmtd文件系统是否也兼容ndbd.换句话说,一个正在运行的数据节点ndbd可以停止,二进制替换ndbmtd,然后重新启动,没有任何数据丢失。(但是,在这样做时,您必须确保MaxNoOfExecutionThreads
是否在重新启动节点之前设置为合适的值ndbmtd以多线程方式运行。)同样,一个ndbmtd二进制可以用ndbd只需停止节点,然后启动即可ndbd代替多线程二进制。在两者之间切换时,不需要使用启动数据节点二进制——初始
.
因为ndbmtd默认情况下以单线程模式运行(也就是说,它的行为类似于ndbd),您必须将其配置为使用多线程。方法中设置适当的值可以做到这一点
config.ini
申请MaxNoOfExecutionThreads
配置参数或ThreadConfig
配置参数。使用MaxNoOfExecutionThreads
更简单,但是ThreadConfig
提供更多的灵活性。有关这些配置参数及其使用的详细信息,请参见多线程配置参数(ndbmtd).中的严重错误会生成跟踪文件ndbmtd过程的方式与生成过程的方式略有不同ndbd失败。这些差异将在接下来的几段中更详细地讨论。
就像ndbd,ndbmtd所指定的目录中生成一组日志文件DataDir
在config.ini
配置文件。除了跟踪文件之外,这些文件都以相同的方式生成,并且具有与ndbd.
一旦出现重大错误,ndbmtd生成描述错误发生之前发生的事情的跟踪文件。这些文件可以在数据节点的DataDir
,对于新开发银行集群开发和支持团队分析问题非常有用。为每个对象生成一个跟踪文件ndbmtd线程。这些文件的名称有以下模式:
ndb_node_id_trace.log。trace_id_tthread_id,
在这种模式下,node_id
表示数据节点在集群中的唯一节点ID,trace_id
跟踪序列号,和thread_id
是线程ID。例如,在发生故障时ndbmtd进程运行在节点ID为3且为的NDB集群数据节点上MaxNoOfExecutionThreads
等于4时,在数据节点的数据目录中生成四个跟踪文件。如果是该节点第一次失败,则命名这些文件ndb_3_trace.log.1_t1
,ndb_3_trace.log.1_t2
,ndb_3_trace.log.1_t3
,ndb_3_trace.log.1_t4
.在内部,这些跟踪文件遵循相同的格式ndbd跟踪文件。
的ndbd退出码和在数据节点进程过早关闭时生成的消息也用于ndbmtd.看到数据节点错误消息的网页,以查阅这些项目的清单。