ndbmtd
はマルチスレッドバージョンの
ndbd
であり、NDBCLUSTER
ストレージエンジンを使用してテーブル内のすべてのデータを処理するために使用されるプロセスです。ndbmtd
は、複数の CPU
コアを持つホストコンピュータでの使用を目的としています。
特に明記されていないかぎり、ndbmtd
は ndbd
と同じ方法で機能するため、このセクションでは、ndbmtd
が ndbd
と異なる方法に集中しており、シングルスレッドバージョンとマルチスレッドバージョンの両方のデータノードプロセスに適用される
NDB Cluster
データノードの実行に関する追加情報については、セクション23.4.1「ndbd — NDB Cluster データノードデーモン」
に問い合わせてください。
ndbd で使用されるコマンド行オプションおよび構成パラメータは、ndbmtd にも当てはまります。 これらのオプションおよびパラメータについては、それぞれセクション23.4.1「ndbd — NDB Cluster データノードデーモン」およびセクション23.3.3.6「NDB Cluster データノードの定義」を参照してください。
また、ndbmtd は ndbd
とファイルシステム互換です。
言い換えると、ndbd
を実行しているデータノードを停止し、バイナリを
ndbmtd
に置き換えて、データ損失なしに再起動できます
(ただし、ndbmtd
をマルチスレッド方式で実行する場合は、ノードを再起動する前に、MaxNoOfExecutionThreads
が適切な値に設定されていることを確認する必要があります。)
同様に、ノードを停止し、マルチスレッドバイナリのかわりに
ndbd
を起動するだけで、ndbmtd
バイナリを ndbd
に置き換えることができます。 これらの 2
つを切り替えるときに、--initial
を使用してデータノードバイナリを開始する必要はありません。
ndbmtd を使用した場合は、ndbd を使用した場合と 2 つの重要な点で異なります。
ndbmtd はデフォルトではシングルスレッドモードで実行されるため (つまり、ndbd のように動作します)、マルチスレッドを使用するように構成する必要があります。 これを行うには、
config.ini
ファイルのMaxNoOfExecutionThreads
構成パラメータまたはThreadConfig
構成パラメータに適切な値を設定します。MaxNoOfExecutionThreads
は簡単に使用できますが、ThreadConfig
にはより柔軟性があります。 これらの構成パラメータおよびその使用方法については、マルチスレッドの構成パラメータ (ndbmtd)を参照してください。トレースファイルは ndbmtd プロセスで重大なエラーが発生したときに生成されますが、ndbd で障害が発生したときにこれらが生成される仕組みとは若干異なります。 これらの相違については、次のいくつかの段落で説明します。
ndbd と同様に、ndbmtd
は config.ini
構成ファイルの
DataDir
で指定されたディレクトリに配置される一連のログファイルを生成します。
トレースファイルを除き、これらは
ndbd
で生成されるものと同様に生成され、同じ名前が付けられます。
重大なエラーが発生した場合、ndbmtd
はエラーが発生する直前に発生した事象を示すトレースファイルを生成します。
これらのファイルはデータノード
DataDir
にあり、NDB
Cluster
開発およびサポートチームによる問題の分析に役立ちます。
各 ndbmtd スレッドに対して 1
つのトレースファイルが生成されます。
これらのファイルの名前には次のパターンがあります。
ndb_node_id_trace.log.trace_id_tthread_id,
このパターンで、node_id
はクラスタ内のデータノード一意のノード ID
を表し、trace_id
はトレースシーケンス番号であり、thread_id
はスレッド ID です。 たとえば、NDB Cluster
データノードとして実行されている
ndbmtd プロセスがノード ID 3
を持ち、MaxNoOfExecutionThreads
が 4 である場合、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 でも使用されます。 これらのリストについては、Data Node Error Messagesを参照してください。
ndbd と ndbmtd は、同じ NDB Cluster 内の異なるデータノードで同時に使用できます。 ただし、そのような構成は十分にテストされていないため、現時点で本番設定でこれを行うことはお勧めできません。