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)时,必须将其配置为使用多个线程。控件中设置适当的值可以做到这一点
config.ini
文件MaxNoOfExecutionThreads
配置参数或ThreadConfig
配置参数。使用MaxNoOfExecutionThreads
是简单的,但ThreadConfig
提供了更多的灵活性。有关这些配置参数及其使用的更多信息,请参见多线程配置参数(ndbmtd).中的重大错误生成跟踪文件ndbmtd进程的方式与生成这些的方式有些不同ndbd失败。这些差异将在接下来的几段中进行更详细的讨论。
就像ndbd,ndbmtd生成一组日志文件,这些文件放置在指定的目录中DataDir
在config.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_t1
,ndb_3_trace.log.1_t2
,ndb_3_trace.log.1_t3
,ndb_3_trace.log.1_t4
.在内部,这些跟踪文件遵循相同的格式ndbd跟踪文件。