Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 26.8Mb
PDF (A4) - 26.9Mb
HTML Download (TGZ) - 7.2Mb
HTML Download (Zip) - 7.2Mb


18.5.13.2 MySQL Cluster データノードのオンライン追加: 基本的な手順

このセクションでは、新しいデータノードを MySQL Cluster に追加するために必要な基本的なステップを一覧表示します。この手順は、データノードのプロセスに ndbd バイナリと ndbmtd バイナリのどちらを使用する場合でも適用されます。詳細な例については、セクション18.5.13.3「MySQL Cluster データノードのオンライン追加: 詳細な例」を参照してください。

すでに MySQL Cluster が実行されていると仮定すると、データノードをオンラインで追加するには次のステップが必要です。

  1. 追加対象のノードに対応する新しい [ndbd] セクションを追加して、クラスタ構成 config.ini ファイルを編集します。クラスタで複数の管理サーバーが使用されている場合は、管理サーバーで使用されるすべての config.ini ファイルに、これらの変更を加える必要があります。

    config.ini ファイルに追加される新しいデータノードのノード ID が、既存のノードで使用されるノード ID と重複しないように注意する必要があります。動的に割り当てられたノード ID を使用している API ノードがあり、それらの ID が新しいノードに使用するノード ID と一致する場合は、この手順の後半で説明するように、このような API ノードを強制的に移行できます。

  2. すべての MySQL Cluster 管理サーバーのローリング再起動を実行します。

    重要

    新しい構成を強制的に読み取るには、すべての管理サーバーを --reload または --initial オプションを付けて再起動する必要があります。

  3. 既存のすべての MySQL Cluster データノードのローリング再起動を実行します。既存のデータノードを再起動するときは、--initial を使用する必要がありません (通常は望ましくもありません)。

    新しいデータノードに割り当てるいずれかのノード ID と一致する動的に割り当てられた ID を持つ API ノードを使用している場合は、このステップでデータノードプロセスのいずれかを再起動する前に、すべての API ノード (SQL ノードを含む) を再起動する必要があります。これにより、事前に明示的に割り当てられなかったノード ID を持つ API ノードは、このようなノード ID を放棄し、新しい ID を取得します。

  4. MySQL Cluster に接続されているすべての SQL ノードまたは API ノードのローリング再起動を実行します。

  5. 新しいデータノードを起動します。

    新しいデータノードは、任意の順序で起動できます。またそれらは、既存のすべてのデータノードのローリング再起動が完了してから、次のステップに進むまでの間に起動されるかぎり、同時に起動することもできます。

  6. MySQL Cluster 管理クライアントで CREATE NODEGROUP コマンドを 1 回以上実行して、新しいデータノードが属する 1 つまたは複数の新しいノードグループを作成します。

  7. NDBCLUSTER テーブルごとに、mysql クライアントで ALTER ONLINE TABLE ... REORGANIZE PARTITION ステートメントを発行して、すべてのデータノード (新しいものを含む) 間でクラスタのデータを再配布します。

    注記

    これは、新しいノードグループを追加する時点ですでに存在しているテーブルに対してのみ実行する必要があります。新しいノードグループを追加したあとに作成されたテーブル内のデータは、自動的に再配布されません。ただし、新しいノードを追加する前に存在していた特定のテーブル tbl に追加されたデータは、そのテーブルが ALTER ONLINE TABLE tbl REORGANIZE PARTITION を使用して再編成されるまで、新しいノードを使用して再配布されません。

  8. NDBCLUSTER テーブルごとに、mysql クライアントで OPTIMIZE TABLE ステートメントを発行して、古いノード上の解放された領域を再利用します。

目的のノードをすべて追加してから、複数の CREATE NODEGROUP コマンドを連続して発行し、新しいノードグループをクラスタに追加できます。