ndbmtd是多线程版本吗ndbd类处理表中的所有数据的进程NDBCLUSTER
存储引擎。ndbmtd适用于拥有多个CPU核的主机。除特别注明外,ndbmtd功能与ndbd;因此,在本节中,我们将集中讨论ndbmtd不同于ndbd,你应该咨询一下第23.5.1节,“ndbd - NDB集群数据节点守护进程”,了解有关运行NDB Cluster数据节点的附加信息,这些数据节点应用于数据节点进程的单线程和多线程版本。
使用的命令行选项和配置参数ndbd也适用于ndbmtd。有关这些选项和参数的更多信息,请参见第23.5.1节,“ndbd - NDB集群数据节点守护进程”,第23.4.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进程作为NDB集群数据节点运行,节点ID为3MaxNoOfExecutionThreads
等于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跟踪文件。