複数のデータ・センターを持つCassandraクラスターのデプロイ・シナリオ。
このトピックでは、複数のデータ・センターを持つCassandraクラスターのデプロイについて説明します。 Cassandraを使用するのが初めてで、クラスターをセットアップしていない場合は、『DataStaxドキュメント』または『10 Minute Cassandra Walkthrough』を参照してください。
この例では、2つのデータ・センターにまたがる6つのノードで構成されるクラスターをインストールする方法を説明しています。各ノードは、GossipingPropertyFileSnitch(複数のラックを認識)および256個の仮想ノード(vnode)を使用するように構成されています。
Cassandraにおける「データ・センター」という用語は、ノードのグループという意味です。データ・センターは、レプリケーション・グループと同じ意味です。つまり、レプリケーションを目的に一緒に構成されたノードのグループのことです。
始める前に
クラスターを起動する前に各ノードを正しく構成する必要があります。クラスターを起動する前に以下の項目を決定または実行する必要があります。
手順
-
これらのノードにCassandraをインストールするとします。
node0 10.168.66.41 (seed1) node1 10.176.43.66 node2 10.168.247.41 node3 10.176.170.59 (seed2) node4 10.169.61.170 node5 10.169.30.138
注: ベスト・プラクティスは、データ・センターあたり複数のシード・ノードを持つことです。
-
クラスターでファイアウォールを使用している場合は、ノード間の通信のために特定のポートを開く必要があります。「ファイアウォール・ポート・アクセスの構成」を参照してください。
-
Cassandraが動作している場合は、サーバーを停止して、データを消去する必要があります。
これにより、デフォルトのcluster_name(Test Cluster)がシステム・テーブルから削除されます。すべてのノードに同じクラスター名を使用してください。
-
Cassandraの停止:
sudo service cassandra stop
-
データの消去:
sudo rm -rf /var/lib/cassandra/data/system/*
-
Cassandraの停止:
ps auwx | grep cassandra
$ sudo kill pid
-
データの消去:
$ sudo rm -rf /var/lib/cassandra/data/system/*
-
各ノードについてファイル内のプロパティを設定します。
注: cassandra.yamlファイルを変更したら、ノードを再起動して変更を有効にする必要があります。
注: ディスクのレイアウト、共有ライブラリなどに関してクラスター内の各ノードが同じ場合は、すべてのノードでcassandra.yamlファイルの同じコピーを使用できます。
例:
cluster_name:'MyCassandraCluster' num_tokens:256 seed_provider:- class_name:org.apache.cassandra.locator.SimpleSeedProvider parameters:-seeds:"10.168.66.41,10.176.170.59" listen_address:endpoint_snitch:GossipingPropertyFileSnitch
注: 各データ・センターから少なくとも1つのノードを含めてください。
-
cassandra-rackdc.propertiesファイルで、前提条件で決定したデータ・センターとラックの名前を割り当てます。例:
ノード0〜2
## Indicate the rack and dc for this node dc=DC1 rack=RAC1
ノード3〜5
## Indicate the rack and dc for this node dc=DC2 rack=RAC1
-
すべてのノードにCassandraをインストールして構成したら、シード・ノードを1つずつ起動した後で、残りのノードを起動します。
注: 自動再起動のためにノードが再起動された場合は、
上記の説明のとおり、最初にノードを停止し、各データ・ディレクトリーを消去してください。
パッケージ・インストール:
sudo service cassandra start
tarボール・インストール:
cd install_location
$ bin/cassandra
-
リングが起動して作動していることを確認するには、以下のコマンドを実行します。
パッケージ・インストール:
$ 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 |