MySQL 8.0 リファレンスマニュアル


MySQL 8.0 リファレンスマニュアル  /  ...  /  ndbmtd — NDB Cluster データノードデーモン (マルチスレッド)

23.4.3 ndbmtd — NDB Cluster データノードデーモン (マルチスレッド)

ndbmtd はマルチスレッドバージョンの ndbd であり、NDBCLUSTER ストレージエンジンを使用してテーブル内のすべてのデータを処理するために使用されるプロセスです。ndbmtd は、複数の CPU コアを持つホストコンピュータでの使用を目的としています。 特に明記されていないかぎり、ndbmtdndbd と同じ方法で機能するため、このセクションでは、ndbmtdndbd と異なる方法に集中しており、シングルスレッドバージョンとマルチスレッドバージョンの両方のデータノードプロセスに適用される NDB Cluster データノードの実行に関する追加情報については、セクション23.4.1「ndbd — NDB Cluster データノードデーモン」 に問い合わせてください。

ndbd で使用されるコマンド行オプションおよび構成パラメータは、ndbmtd にも当てはまります。 これらのオプションおよびパラメータについては、それぞれセクション23.4.1「ndbd — NDB Cluster データノードデーモン」およびセクション23.3.3.6「NDB Cluster データノードの定義」を参照してください。

また、ndbmtdndbd とファイルシステム互換です。 言い換えると、ndbd を実行しているデータノードを停止し、バイナリを ndbmtd に置き換えて、データ損失なしに再起動できます (ただし、ndbmtd をマルチスレッド方式で実行する場合は、ノードを再起動する前に、MaxNoOfExecutionThreads が適切な値に設定されていることを確認する必要があります。) 同様に、ノードを停止し、マルチスレッドバイナリのかわりに ndbd を起動するだけで、ndbmtd バイナリを ndbd に置き換えることができます。 これらの 2 つを切り替えるときに、--initial を使用してデータノードバイナリを開始する必要はありません。

ndbmtd を使用した場合は、ndbd を使用した場合と 2 つの重要な点で異なります。

  1. ndbmtd はデフォルトではシングルスレッドモードで実行されるため (つまり、ndbd のように動作します)、マルチスレッドを使用するように構成する必要があります。 これを行うには、config.ini ファイルの MaxNoOfExecutionThreads 構成パラメータまたは ThreadConfig 構成パラメータに適切な値を設定します。 MaxNoOfExecutionThreads は簡単に使用できますが、ThreadConfig にはより柔軟性があります。 これらの構成パラメータおよびその使用方法については、マルチスレッドの構成パラメータ (ndbmtd)を参照してください。

  2. トレースファイルは ndbmtd プロセスで重大なエラーが発生したときに生成されますが、ndbd で障害が発生したときにこれらが生成される仕組みとは若干異なります。 これらの相違については、次のいくつかの段落で説明します。

ndbd と同様に、ndbmtdconfig.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_t1ndb_3_trace.log.1_t2ndb_3_trace.log.1_t3、および ndb_3_trace.log.1_t4 と名前が付けられます。 内部的には、これらのトレースファイルは ndbd トレースファイルと同じ形式です。

データノードプロセスが予期せずに停止されたときに生成される ndbd の終了コードおよびメッセージは、ndbmtd でも使用されます。 これらのリストについては、Data Node Error Messagesを参照してください。

注記

ndbdndbmtd は、同じ NDB Cluster 内の異なるデータノードで同時に使用できます。 ただし、そのような構成は十分にテストされていないため、現時点で本番設定でこれを行うことはお勧めできません。


関連キーワード:  NDB, テーブル, ndbinfo, ndb, ノード, ndbmtd, 構成, データ, ndbd, パラメータ