ワークロードの種類別に単一データ・センターを初期化する
ワークロードのタイプごとに、データ・センターを1つだけ持つ混在ワークロード・クラスターでノードを構成するための手順。
このシナリオでは、混在ワークロード・クラスターはワークロードの種類ごとにデータ・センターが1つだけあります。たとえば、クラスターに3つのAnalyticsノード、3つのトランザクション・ノード、2つのDSE Searchノードがある場合、クラスターには各種ワークロードごとに1つずつ、合計3つのデータ・センターがあります。これに対し、複数データ・センター・クラスターには、各種ワークロードごとに複数のデータ・センターがあります。
大半の状況において、検索、分析、ならびにトランザクションなどの各ワークロードタイプは、異なる仮想データ・センター内に編成されます。ワークロード分離により、リソースの競合を回避します。ただし、分析に対して大きな需要が存在しない場合、ワークロードはSearchAnalyticsノードに組み合わせることができます。一般に、トランザクション(OLTP)と分析(OLAP)ワークロードを組み合わせると、パフォーマンスが低下します。クエリーしたいノードのDSE Graphのみ、有効にします。
CQLを使用してキースペースを作成すると、1つのノードのクラスターであっても、DataStax Enterpriseではクラスターの仮想データ・センターが自動的に作成されます。同じ種類のワークロードを実行するノードを同じデータ・センターに割り当てます。異なる種類のノードを対象とした異なる仮想データ・センターは、こうしたノードからDSE Searchを実行するワークロードと他の種類のワークロードを実行するワークロードを分離します。
始める前に
- データベースの仕組みをよく理解する。少なくとも、データベース・アーキテクチャーの理解とデータ・レプリケーションを必ずお読みください。
- 環境が、ユース・ケースとワークロードに適していることを確認してください。
- 実稼働環境での推奨設定を確認します。
- クラスターの名前を選択する。
- 混在ワークロードのクラスターの場合は、各ノードの目的を決定する。
- スニッチおよびレプリケーション・ストラテジを決定する。実稼働環境には、GossipingPropertyFileSnitchおよびNetworkTopologyStrategyを推奨します。
- 各ノードのIPアドレス。
- DataStax Enterpriseが、各ノードにインストールされていることを確認します。
- どのノードをシード・ノードにするかを決定する。すべてのノードをシード・ノードにしないでください。
シード・ノードは、DSE Searchデータ・センターでは不要です。ノード間のコミュニケーション(ゴシップ)を参照してください。
- 内容を確認し、cassandra-rackdc.propertiesなど他のプロパティ・ファイルに必要な変更を加えます。
- データ・センターの種類に合わせて正しく仮想ノードを設定する。「Virtual nodes」を参照してください。
手順
この構成例では、デフォルトの整合性レベルがQUORUMで、1つのデータ・センター内の2つのラックにまたがる8つのノードで構成されるクラスターをインストールする方法を説明します。
-
ノードに以下のIPが割り当てられており、ラックごとに1つのノードがシードの役割を担うと想定します。
- node0 110.82.155.0(トランザクション・シード)
- node1 110.82.155.1(トランザクション)
- node2 110.82.155.2(トランザクション)
- node3 110.82.155.3(Analyticsシード)
- node4 110.82.155.4(Analytics)
- node5 110.82.155.5(Analytics)
- node6 110.82.155.6(Search - シード・ノードはDSE Searchには必要ありません)。
- node7 110.82.155.7(Search)
- ノードがファイアウォールの背後にある場合は、内外で通信するために、必要なポートを開きます。
-
DataStax Enterpriseが実行されている場合は、ノードを停止してデータを消去します。
- パッケージおよびInstaller-Servicesのインストール:
$ sudo service dse stop $ sudo rm -rf /var/lib/cassandra/* ## Remove data from the default directories
- tarボールおよびInstaller-No Servicesのインストール:
$ cd installation_location $ sudo rm -rf data/* commitlog/* saved_caches/* hints/* ## Remove all data
installation_locationが次のいずれかの場合。- /var/lib/cassandra/data
- DataStax Enterpriseをインストールしたディレクトリー。
- パッケージおよびInstaller-Servicesのインストール:
-
ノードごとにcassandra.yaml構成ファイル内のプロパティを設定します。
注: yaml_diff toolを使用して確認し、cassandra.yaml構成ファイルとdse.yaml構成ファイルに必要な変更を加えます。
ディスクのレイアウト、共有ライブラリなどに関してクラスター内の各ノードが同じ場合は、すべてのノードでcassandra.yamlファイルの同じコピーを使用できます。
num_tokens
: 「vnodeの推奨事項」を参照してください。-seeds
: 各シード・ノードのinternal_IP_address重要: 各データ・センターから1つ以上のシード・ノードを含める必要があります。DataStaxでは、データ・センターごとに1つ以上のシード・ノードを持つことを推奨しています。すべてのノードをシード・ノードにしないでください。listen_address
: 空設定されていないと、DataStax Enterprise(DSE)は、そのホスト名に関連付けられているローカル・アドレスについてシステムに尋ねます。DSEが正しいアドレスを生成しない場合は、listen_addressを指定する必要があります。
endpoint_snitch
: スニッチendpoint_snitchとsnitchesを参照してください。スニッチを変更する場合は、「スニッチの切り替え」を参照してください。
auto_bootstrap
: falsebootstrap(この設定は、データなしで新しいクラスターを初期化する場合にのみ追加してください。)
- 以前のバージョンから、cassandra.yamlまたはdse.yamlファイルを使用している場合、必ず削除された設定のアップグレード・ガイドを確認してください。
cluster_name: 'MyDemoCluster' num_tokens: 256 seed_provider: - class_name: org.apache.cassandra.locator.SimpleSeedProvider parameters: - seeds: "110.82.155.0,110.82.155.3" listen_address: endpoint_snitch: GossipingPropertyFileSnitch
- ユース・ケースの要件に応じてdse.yamlファイルのプロパティを設定します。
-
cassandra-rackdc.properties (GossipingPropertyFileSnitch)またはcassandra-topology.properties(PropertyFileSnitch)ファイルで、命名規則を使用してデータ・センターとラックの名前を各ノードのIPアドレスに割り当て、不明なノードにはデフォルトのデータ・センター名とラック名を割り当てます。
注: 移行情報:ファイルが存在する場合、GossipingPropertyFileSnitchは常に、cassandra-topology.propertiesを読み込みます。新しいクラスター、またはPropertyFileSnitchから移行したクラスターの各ノードから、ファイルを削除します。cassandra-topology.propertiesファイルの場所は、インストールのタイプによって異なります。
パッケージ・インストールInstaller-Servicesインストール
/etc/dse/cassandra/cassandra-topology.properties tarボール・インストールInstaller-No Servicesインストール
installation_location/resources/cassandra/conf/cassandra-topology.properties cassandra-rackdc.propertiesファイルの場所は、インストールのタイプによって異なります。パッケージ・インストールInstaller-Servicesインストール
/etc/dse/cassandra/cassandra-rackdc.properties tarボール・インストールInstaller-No Servicesインストール
installation_location/resources/cassandra/conf/cassandra-rackdc.properties dse.yamlファイルの場所は、インストールのタイプによって異なります。パッケージ・インストールInstaller-Servicesインストール
/etc/dse/dse.yaml tarボール・インストールInstaller-No Servicesインストール
installation_location/resources/dse/conf/dse.yaml cassandra.yamlファイルの場所は、インストールのタイプによって異なります。パッケージ・インストールInstaller-Servicesインストール
/etc/dse/cassandra/cassandra.yaml tarボール・インストールInstaller-No Servicesインストール
installation_location/resources/cassandra/conf/cassandra.yaml データ・センターまたはクラスターのタイプ vnode(トークン)の数 トランザクションのみ 128 Spark 128 DSE Searchのみ 8 DSE Graph 128 DSE Graph(DSE Searchと併用する場合) 8 # Transactional Node IP=Datacenter:Rack 110.82.155.0=DC_Transactional:RAC1 110.82.155.1=DC_Transactional:RAC1 110.82.155.2=DC_Transactional:RAC1 110.82.155.3=DC_Analytics:RAC1 110.82.155.4=DC_Analytics:RAC1 110.82.155.5=DC_Analytics:RAC1 110.82.155.6=DC_Search:RAC1 110.82.155.7=DC_Search:RAC1 # default for unknown nodes default=DC1:RAC1
注: 構成ファイルを変更したら、ノードを再起動して変更を有効にする必要があります。 -
すべてのノードにDataStax Enterpriseをインストールして構成したら、シード・ノードを1つずつ起動した後で、残りのノードを起動します。
- tarボールおよびInstaller-No Servicesのインストール: DataStax Enterpriseをサービスとして起動
- パッケージおよびInstaller-Servicesのインストール: DataStax Enterpriseをスタンドアローン・プロセスとして起動
-
自分のクラスターが起動して稼働していることを確認します。
$ nodetool status
tarボールおよびInstaller-No Servicesのパス:installation_location/bin
タスクの結果
Datacenter: Cassandra
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns Host ID Rack
UN 110.82.155.0 21.33 KB 256 33.3% a9fa31c7-f3c0-... RAC1
UN 110.82.155.1 21.33 KB 256 33.3% f5bb416c-db51-... RAC1
UN 110.82.155.2 21.33 KB 256 16.7% b836748f-c94f-... RAC1
Datacenter: Analytics
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Owns Host ID Tokens Rack
UN 110.82.155.3 28.44 KB 13.0.% e2451cdf-f070- ... -922337.... RAC1
UN 110.82.155.4 44.47 KB 16.7% f9fa427c-a2c5- ... 30745512... RAC1
UN 110.82.155.5 54.33 KB 23.6% b9fc31c7-3bc0- ..- 45674488... RAC1
Datacenter: Solr
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Owns Host ID Tokens Rack
UN 110.82.155.6 15.44 KB 50.2.% e2451cdf-f070- ... 9243578.... RAC1
UN 110.82.155.7 18.78 KB 49.8.% e2451cdf-f070- ... 10000 RAC1