データベースクラスターのセットアップ

データベースクラスターのセットアップ

MongoDB 共有クラスターをセットアップすることにより、複数のマシン間をまたがりデータを保存できます。

各クラスターは以下のものを持ちます。

  • 1 つ以上の*シャード*。各シャードは、3 つのメンバー複製セット (複製セットとして構成される 3 つのインスタンス) から成り立ちます。
  • 1 つ以上の*クエリールーター*。クエリールーターは、アプリケーションが実際に接続されるマシンです。このマシンは、設定サーバーと通信することに責任を持ち、要求されたデータが保存されている場所を理解します。そして、適切なシャードからデータにアクセスして返します。
  • 1 つ以上の*設定サーバー*。設定サーバーは、要求されたデータとそれを含むシャードを関連付けるメタデータを保存します。

この例は、MongoDB 共有クラスターをセットアップする方法です。

注釈

始める前に 以下を確認します。

クラスターのセットアップ

  1. クラスターの作成

    trove cluster-create コマンドを使用して、クラスターを作成します。このコマンドは、以下を渡して、シャード 1 つのクラスターを作成します。

    • クラスターの名前。
    • 使用したいデータストアの名前とバージョン。
    • 1 番目のシャード向けに複製セットに含めたい 3 つのインスタンス。--instance 引数を使用して、各インスタンス、フレーバー ID、ボリューム容量を指定します。各インスタンスに同じフレーバー ID とボリューム容量を使用します。この例では、フレーバー 7 が MongoDB の最小要件を満たすカスタムフレーバーです。
    $ trove cluster-create cluster1 mongodb "2.4" \
      --instance flavor=7,volume=2 --instance flavor=7,volume=2 \
      --instance flavor=7,volume=2
     +-------------------+--------------------------------------+
     | Property          | Value                                |
     +-------------------+--------------------------------------+
     | created           | 2014-08-16T01:46:51                  |
     | datastore         | mongodb                              |
     | datastore_version | 2.4                                  |
     | id                | aa6ef0f5-dbef-48cd-8952-573ad881e717 |
     | name              | cluster1                             |
     | task_description  | Building the initial cluster.        |
     | task_name         | BUILDING                             |
     | updated           | 2014-08-16T01:46:51                  |
     +-------------------+--------------------------------------+
    
  2. クラスター情報の表示

    trove cluster-show コマンドを使用して、クラスターに関する情報を表示します。クラスターの ID を渡します。

    クラスター ID が、クラスターを初めて作成したときを表示します (後から確認する必要がある場合、 trove cluster-list コマンドを使用して、お使いのシステムにある全クラスターの名前と ID を一覧表示します)。

    $ trove cluster-show CLUSTER_ID
     +-------------------+--------------------------------------+
     | Property          | Value                                |
     +-------------------+--------------------------------------+
     | created           | 2014-08-16T01:46:51                  |
     | datastore         | mongodb                              |
     | datastore_version | 2.4                                  |
     | id                | aa6ef0f5-dbef-48cd-8952-573ad881e717 |
     | ip                | 10.0.0.2                             |
     | name              | cluster1                             |
     | task_description  | No tasks for the cluster.            |
     | task_name         | NONE                                 |
     | updated           | 2014-08-16T01:59:33                  |
     +-------------------+--------------------------------------+
    

    注釈

    この IP アドレスに接続するアプリケーション。 trove cluster-show コマンドにより、クエリールーターの IP アドレスを表示します。これは、アプリケーションがデータベースからデータを取得するために使用する IP アドレスです。

  3. クラスターインスタンスの一覧表示

    trove cluster-instances コマンドを使用して、クラスターにあるインタフェースを一覧表示します。

    $ trove cluster-instances CLUSTER_ID
    +--------------------------------------+----------------+-----------+------+
    | ID                                   | Name           | Flavor ID | Size |
    +--------------------------------------+----------------+-----------+------+
    | 45532fc4-661c-4030-8ca4-18f02aa2b337 | cluster1-rs1-1 | 7         |    2 |
    | 7458a98d-6f89-4dfd-bb61-5cf1dd65c121 | cluster1-rs1-2 | 7         |    2 |
    | b37634fb-e33c-4846-8fe8-cf2b2c95e731 | cluster1-rs1-3 | 7         |    2 |
    +--------------------------------------+----------------+-----------+------+
    

    複製セットとインスタンスの命名規則。 複製セットの名前を意味するインスタンス名が Name 列に表示されることに注意してください。複製セットの名前とインスタンス名は、以下のルールに従い、自動的に生成されます。

    • 複製セットの名前。 この名前は、クラスターの名前に -rsn を付けたものです。この n は、1 番目の複製セットが 1、2 番目が 2 と続きます。この例では、クラスターの名前が cluster1、複製セットが 1 つだけあるので、複製セットの名前は cluster1-rs1 になります。
    • インスタンス名。 この名前は、複製セットの名前に -n を付けたものです。この n は、1 番目の複製セットが 1、2 番目が 2 と続きます。この例では、インスタンスの名前は cluster1-rs1-1, cluster1-rs1-2, cluster1-rs1-3 になります。
  4. クラスターの一覧表示

    trove cluster-list コマンドを使用して、システムにあるすべてのクラスターを一覧表示します。

    $ trove cluster-list
    +--------------------------------------+----------+-----------+-------------------+-----------+
    | ID                                   | Name     | Datastore | Datastore Version | Task Name |
    +--------------------------------------+----------+-----------+-------------------+-----------+
    | aa6ef0f5-dbef-48cd-8952-573ad881e717 | cluster1 | mongodb   | 2.4               | NONE      |
    | b8829c2a-b03a-49d3-a5b1-21ec974223ee | cluster2 | mongodb   | 2.4               | BUILDING  |
    +--------------------------------------+----------+-----------+-------------------+-----------+
    
  5. クラスターの削除

    trove cluster-delete コマンドを使用して、クラスターを削除します。

    $ trove cluster-delete CLUSTER_ID
    

クエリールーターと設定サーバー

各クラスターには、少なくとも 1 つのクエリールーターと 1 つの設定サーバーがあります。クエリールーターと設定サーバーは、クォータの計数対象になります。クラスターを削除するとき、関連するクエリールーターと設定サーバーも削除されます。

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.