複数ノード・クラスター(単一データ・センター)の初期化

1つのデータ・センターを持つCassandraクラスターのデプロイ・シナリオ。

このトピックでは、1つのデータ・センターを持つCassandraクラスターのデプロイについて説明します。Cassandraを使用するのが初めてで、クラスターをセットアップしていない場合は、『DataStaxドキュメント』または『10 Minute Cassandra Walkthrough』を参照してください。

始める前に

クラスターを起動する前に各ノードを正しく構成する必要があります。クラスターを起動する前に以下の項目を決定または実行する必要があります。

この例では、1つのデータ・センター内の2つのラックにまたがる6つのノードで構成されるクラスターをインストールする方法を説明します。各ノードは、GossipingPropertyFileSnitch および256個の仮想ノード(vnode)を使用するように構成されています。

Cassandraにおける「データ・センター」という用語は、ノードのグループという意味です。データ・センターは、レプリケーション・グループと同じ意味です。つまり、レプリケーションを目的に一緒に構成されたノードのグループのことです。

手順

  1. これらのノードにCassandraをインストールするとします。
    node0 110.82.155.0 (seed1) node1 110.82.155.1 node2 110.82.155.2 node3 110.82.156.3 (seed2) node4 110.82.156.4 node5 110.82.156.5
    注: ベスト・プラクティスは、データ・センターあたり複数のシード・ノードを持つことです。
  2. クラスターでファイアウォールを使用している場合は、ノード間の通信のために特定のポートを開く必要があります。「ファイアウォール・ポート・アクセスの構成」を参照してください。
  3. Cassandraが動作している場合は、サーバーを停止して、データを消去する必要があります。

    これにより、デフォルトのcluster_name(Test Cluster)がシステム・テーブルから削除されます。すべてのノードに同じクラスター名を使用してください。

    パッケージ・インストール:

    1. Cassandraの停止:
      sudo service cassandra stop
    2. データの消去:
      sudo rm -rf /var/lib/cassandra/data/system/*

    tarボール・インストール:

    1. Cassandraの停止:
      ps auwx | grep cassandra
      $ sudo  kill pid
    2. データの消去:
      $ sudo rm -rf /var/lib/cassandra/data/system/*

    Windowsインストール:

    1. Cassandraの停止:
      C:\> net stop DataStax_Cassandra_Community_server
    2. データの消去:
      C:\> rmdir /s "Program Files\DataStax Community\apache-cassandra\data"
  4. 各ノードについてcassandra.yamlファイル内のプロパティを設定します。
    注: cassandra.yamlファイルを変更したら、ノードを再起動して変更を有効にする必要があります。
    設定するプロパティ:
    • num_tokens: 推奨値: 256
    • -seeds: 各シード・ノードの内部IPアドレス

      シード・ノードは、新しいノードが既存のクラスターに参加するプロセスであるブートストラップを行いません。新しいクラスターでは、シード・ノードでのブートストラップ・プロセスは省略されます。

    • listen_address:

      設定されていないと、Cassandraは、そのホスト名に関連付けられているローカル・アドレスをシステムに照会します。正しいアドレスが生成されていない場合は、listen_addressを指定する必要があります。

    • endpoint_snitch: スニッチ名endpoint_snitchを参照。)スニッチを変更する場合は、「スニッチの切り替え」を参照してください。
    • auto_bootstrap:false(この設定は、データなしで新しいクラスターを初期化する場合にのみ追加してください。)
    注: ディスクのレイアウト、共有ライブラリなどに関してクラスター内の各ノードが同じ場合は、すべてのノードでcassandra.yamlファイルの同じコピーを使用できます。

    例:

    cluster_name:'MyCassandraCluster' num_tokens:256 seed_provider:- class_name:org.apache.cassandra.locator.SimpleSeedProvider parameters:-seeds:"110.82.155.0,110.82.155.3" listen_address:rpc_address:0.0.0.0 endpoint_snitch:GossipingPropertyFileSnitch
  5. cassandra-rackdc.propertiesファイルで、前提条件で決定したデータ・センターとラックの名前を割り当てます。例:
    # indicate the rack and dc for this node dc=DC1 rack=RAC1
  6. すべてのノードにCassandraをインストールして構成したら、シード・ノードを1つずつ起動した後で、残りのノードを起動します。
    注: 自動再起動のためにノードが再起動された場合は、上記の説明のとおり、最初にノードを停止し、各データ・ディレクトリーを消去してください。
    パッケージ・インストール:
    sudo service cassandra start
    tarボール・インストール:
    cd install_location 
    $ bin/cassandra
    C:\> net startDataStax_Cassandra_Community_server
  7. リングが起動して作動していることを確認するには、以下のコマンドを実行します。
    パッケージ・インストール:
    $ nodetool status
    tarボール・インストール:
    cd install_location 
    $ bin/nodetool status

    各ノードがリストに表示され、ステータスと状態はUN(Up Normal)となります

    cassandra.yamlファイルの場所は、インストールのタイプによって異なります。
    パッケージ・インストール /etc/cassandra/cassandra.yaml
    tarボール・インストール install_location/resources/cassandra/conf/cassandra.yaml
    Windowsインストール C:\Program Files\DataStax Community\apache-cassandra\conf\cassandra.yaml