ようへいの日々精進XP

よかろうもん

EC2 インスタンス上に Cassandra クラスタを構成する(3)〜 Planning an Amazon EC2 cluster を読んでみる 〜

はじめに

DataStax のドキュメントに Planning an Amazon EC2 cluster というドキュメントがあったので読んでみた


参考


EC2 上に Cassandra クラスタを構築する際のポイント

DataStax が提供する AMI がある

  • 一番簡単に Cassandra クラスタを構築したい場合には DataStax が提供する AMI を使うと良い
  • シングル AZでのみ利用可能
  • SimpleSnitch で初期化されている

ガイドライン

  • 信頼出来る AMI を使いましょう*1
  • プロダクション環境の EC2 上の Cassandra クラスタLarge 又は Extra Large インスタンスとローカルストレージを使うこと
  • データディレクトリとコミットログの両方を RAID0ephemeral disk のボリュームに置く
  • データの冗長性を確保する為、複数の AZ にまたがって Cassndra クラスタを展開する
  • Cassandra のバックアップファイルを保存する為の EBS ボリュームの使用を検討すること
  • Cassandra JBODRAID0 を合わせて使うとスループットのパフォーマンスが向上する
  • クラスタには EBS ボリュームは使わない方が良い

ドキュメントが言う信頼出来る AMI


補足

Snitch(endpoint_snitch)

Snitch には 2 つの機能がある。

  1. Cassandra ノード間通信が効率的に行えるようにクラスタがどのようなネットワーク経路で構成されているかを通知する機能
  2. 複数のデータセンター(以下 DC)をまたいでクラスタが構成される場合で片方の DC で障害が起きた際にもう片方の DC だけでクラスタが稼働出来るようにレプリカを分散させる機能

以下のような Snitch がある。

種類 機能
SimpleSnitch 物理的なノード間の近接度合いに基づく設定
PropertyFileSnitch ユーザーによるデータセンターとラックの定義によって、ノード間の近接度合いが決定される設定
RackInferringSnitch データセンターとラックの定義によって、ノード間の近接度合いが決定される設定に合わせて、各ノードの IP の第二、第三オクテットが一致しているかで近接度合いを推定する設定

Cassandra JBOD


最後

  • EC2上でのクラスタ構築のようなドキュメントがあるのは Elasticsearch も似ている
  • ヤバイ、英語が全く読めない...

*1:記事中の「信頼出来る AMI」 を参照のこと

*2:PDF の 7 ページあたり